.ashx

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using BLL;
using m = Model;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.Web.SessionState;
namespace Web.Handler
{
/// <summary>
/// AddOppportunityHandler 的摘要说明
/// </summary>
public class AddOppportunityHandler : IHttpHandler, IRequiresSessionState
{
private HttpContext _httpContext;
public void ProcessRequest(HttpContext context)
{
string result = "0";
if (requestVerify("AddOppportunityHandler", HttpContext.Current.Session["userName"].ToString().Trim()))
{
_httpContext = context;
context.Response.ContentType = "text/plain";
string jihuidianmingcheng = context.Request.Form["CrmOppportunity_Name"].ToString();
string quhao = context.Request.Form["quhao"].ToString();
string nianyue = context.Request.Form["nianyue"].ToString();
string fenxi = context.Request.Form["CrmOppportunity_Analysis"].ToString();
string duijiebumen = context.Request.Form["CrmOppportunity_PurchaseDp"].ToString();
string duijieren = context.Request.Form["CrmOppportunityConactPerson_Name"].ToString();
string zhiwei = context.Request.Form["CrmOppportunityConactPerson_Duty"].ToString();
string dianhua = context.Request.Form["CrmOppportunityConactPerson_Phone"].ToString();
string jine = context.Request.Form["CrmOppportunity_Amount"].ToString();
string qianyueshijian = context.Request.Form["CrmOppportunity_SignDate"].ToString();
string huoqushijian = context.Request.Form["CrmOppportunity_CreatedDateTime"].ToString();
string jinzhanwenti = context.Request.Form["CrmOppportunity_ProblemsAndDeve"].ToString();
Guid clientGuid = Guid.Parse(context.Request.Form["CrmClient_ID"].ToString());
HttpPostedFile upfile = _httpContext.Request.Files["fileppt"];//获取文件
CrmOppportunity bll_opportunity = new CrmOppportunity();
CrmOppportunityConactPerson bll_per = new CrmOppportunityConactPerson();
m.CrmOppportunity m_opportunity = new m.CrmOppportunity();
m.CrmOppportunityConactPerson m_per = new m.CrmOppportunityConactPerson();

m_opportunity.CrmOppportunity_ID = Guid.NewGuid();
m_opportunity.CrmOpportunity_Client_ID = clientGuid;
m_opportunity.CrmOppportunity_Name = jihuidianmingcheng;
string[] array_nianyue = nianyue.Split(‘-‘);//将年月分隔成数组
string sql_bianhao = "LH" + quhao + array_nianyue[0] + array_nianyue[1];
int bianhao_count = bll_opportunity.GetBianHaoCount(sql_bianhao);//获取相同编号的记录总数
StringBuilder strcount = new StringBuilder();//获取编号
if ((bianhao_count + 1).ToString().Length==1)
{
strcount.Append("00");
strcount.Append((bianhao_count + 1).ToString());
}
else if ((bianhao_count + 1).ToString().Length == 2)
{
strcount.Append("0");
strcount.Append((bianhao_count + 1).ToString());
}
else if ((bianhao_count + 1).ToString().Length == 3)
{
strcount.Append((bianhao_count + 1).ToString());
}
m_opportunity.CrmOppportunity_Code = sql_bianhao + strcount;
m_opportunity.CrmOppportunity_Analysis = fenxi;
m_opportunity.CrmOppportunity_PurchaseDp = duijiebumen;
if (jine != "")
{
m_opportunity.CrmOppportunity_Amount = Convert.ToDecimal(jine);
}
m_opportunity.CrmOppportunity_Year = Convert.ToInt32(array_nianyue[0].ToString());
m_opportunity.CrmOppportunity_ProblemsAndDeve = jinzhanwenti;
if (qianyueshijian != "")
{
m_opportunity.CrmOppportunity_SignDate = Convert.ToDateTime(qianyueshijian);
}
if (huoqushijian != "")
{
m_opportunity.CrmOppportunity_CreatedDateTime = Convert.ToDateTime(huoqushijian);
}
if (upfile != null)
{
//文件原名称
string oldMediaName = upfile.FileName;
string fengefu = DateTime.Now.ToString("yyyy-MM-dd-HH-ss") + DateTime.Now.Ticks;
upfile.SaveAs(_httpContext.Server.MapPath("~\\Upload\\Opportunity\\" + fengefu + "_" + oldMediaName));
m_opportunity.CrmOppportunity_ClientPlanPPTPath = "~\\Upload\\Opportunity\\" + fengefu + "_" + oldMediaName;
}
bool result_1=bll_opportunity.Add(m_opportunity);//添加crmOpportunity model
m_per.CrmOppportunityConactPerson_ID = Guid.NewGuid();
m_per.CrmOppportunity_ID = m_opportunity.CrmOppportunity_ID;
m_per.CrmOppportunityConactPerson_Name = duijieren;
m_per.CrmOppportunityConactPerson_Phone = dianhua;
m_per.CrmOppportunityConactPerson_Duty = zhiwei;
bool result_2=bll_per.Add(m_per);
if (result_1 && result_2) {
result = "1";
}
else{
result="-1";
}
}
else {
result = "-2";
}
context.Response.Write(result.ToString());
}

public bool IsReusable
{
get
{
return false;
}
}
/// <summary>
/// 校验权限
/// </summary>
/// <param name="HandleName"></param>
/// <param name="ClientId"></param>
/// <returns></returns>
private bool requestVerify(string HandleName, string ClientId)
{
bool boVerify = true;
#region 权限校检
if (HttpContext.Current.Session["userName"].ToString().Trim().ToLower() == "admin")
{
boVerify = true;
}
else
{
#region dataToCheck
List<List<KeyValuePair<string, string>>> dataToCheck = new List<List<KeyValuePair<string, string>>>();
List<KeyValuePair<string, string>> tempItem = new List<KeyValuePair<string, string>>();
KeyValuePair<string, string> tempID = new KeyValuePair<string, string>("CrmClient_ID", ClientId);
dataToCheck.Add(tempItem);
tempItem.Add(tempID);
#endregion

KeyValuePair<bool, ECrmDataScop> checkResult = BLL.CrmRequestVerify.HandleRequest(ClientId, HandleName, dataToCheck);
if (!checkResult.Key)
{

boVerify = false; ;
}
}
#endregion
return boVerify;
}
}
}

时间: 2024-11-06 03:33:10

.ashx的相关文章

Bootstrap + AngularJS+ Ashx + SQL Server/MySQL

去年年底12月,为适应移动端浏览需求,花了1个月时间学习Bootstrap,并将公司ASP网站重构成ASP.NET. 当时采取的网站架构: Bootstrap + jQuery + Ashx + SQL Server 时间紧,没人带,只能硬着头皮,最后如期完成,但是也遗留了几个问题. 问题: 1.页面查询条件太复杂,太多的checkbox,jQuery操作DOM虽然方便,但是组合成json提交给后端还是比较麻烦,有没有天然支持json的前端框架或者脚本语言? html控件做的任何修改,都自动保存

bootstrap table 服务器端分页--ashx+ajax

1.准备静态页面 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title></title> 6 <meta charset="utf-8" /> 7 <link rel="

asp、asp.net、.aspx、.ascx、.ashx的简单说明

ASP是动态服务器页面(Active Server Page)的英文缩写.[1]是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单.方便的编程工具.ASP的网页文件的格式是.asp.现在常用于各种动态网站中. ASP.NET是由微软在·NETFramework框架中所提供,开发Web应用程序的类库,封装在System.Web.dll文件中,显露出System.Web命名空间,并提供ASP.NET网页处理.扩充以及HTTP通道的应用程序与通信处理等工作,以及

Jquery调用从ashx文件返回的jsonp格式的数据处理实例

开发环境:vs2010+jquery-1.4.min.js 解决问题:网上代码比较少,好多调试不通,返回数据不用json而用jsonp主要考虑解决跨域问题 开发步骤:打开VS2010,新建一web站点,保存位置选择D:\Website1;添加新项,选择一般处理程序,命名cmdHandler.ashx;添加新项,选择HTML页,命名为testAshx.htm;网上下载jquery-1.4.min.js拷贝到web站点中 项目相关网站源码和运行截图如下: 1.testAshx.htm代码如下: <!

在一个aspx或ashx页面里进行多次ajax调用

在用ajax开发asp.net程序里.利用ashx页面与前台页面进行数据交互.但是每个ajax交互都需要一个ashx页面.结果是项目里一大堆ashx页面.使项目难以管理.现在我们就想办法让一个ashx页面里允许多个ajax交互; 前台页面AjaxTest.htm,内容如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm

ajax+ashx 完美实现input file上传文件

1.input file 样式不能满足需求 <input type="file" value="浏览" /> IE8效果图:    Firefox效果图: Chrome效果图:   2.input file上传按钮美化 css: .file{ position: relative; background-color: #b32b1b; border: 1px solid #ddd; width: 68px; height: 25px; display:

利用多态,实现一般处理程序(ashx)中的AOP(切面编程)

本文是对工作中的项目进行代码优化(完善登陆验证的AOP切面编程)时,所遇到的各种解决方案思考过程. 项目背景:由ashx+nvelocity构建的简单B/S问卷系统,现需要优化登录验证环节(时隔若干个月在回顾代码果然是一个痛苦的过程~) nvelocity是velocity框架针对.net的版本,核心是拼html字符串后返回客户端,与MVC的前后端代码隔离有异曲同工之妙.加之一般处理程序ashx不需要像asp.net那样走生成控件树的过程,执行上更是省时省力.故简单系统用ashx+nveloci

一般处理程序(ashx)对session处理摘要

通常我们都会把当前操作系统的人员用session记录下来.方便我们记录对当前数据操作有记录处理凭证. 在一般处理程序(ashx)中,遇到如下操作session的异常: “System.NullReferenceException”类型的异常在 App_Web_vea5kecg.dll 中发生,但未在用户代码中进行处理 其他信息: 未将对象引用设置到对象的实例. 异常代码如下红色字体部分: var result = ""; int userid = 0; if (HttpContext.

EasyUI - 使用一般处理程序 HttpHandler (.ashx)

以easyui中的panel中,使用url加载数据为列. 效果: html代码: <div id="p" style="padding: 10px;"> <p>panel content.</p> <p>panel content.</p> </div> js代码: url的路径一定要是物理路径:例如: ../Josn/abc.ashx   前面要加上  ../ $(function () {

如何在ashx页面获取Session值

在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下: HttpRequest Request = context.Request; HttpResponse Response = context.Response; 但是要得到 Session的值就没有那么简单了.比如你要在ashx得到保存在Session中的登录帐号Session["userAccount"] 如果你只是context.Session["userAccount&