コード例 #1
0
 public ActionResult Import(bool status = true, List <string> error = null)
 {
     using (var db = new XkSystem.Models.DbContext())
     {
         var vm = new Models.Sms.Import();
         if (error != null && error.Count > decimal.Zero)
         {
             foreach (var msg in error)
             {
                 ModelState.AddModelError("", msg);
             }
             status = false;
         }
         return(View(vm));
     }
 }
コード例 #2
0
        public ActionResult ImportSmsJson()
        {
            var vm    = new Models.Sms.Import();
            var error = new List <string>();

            if (error.Count == decimal.Zero)
            {
                if (ModelState.IsValid)
                {
                    var file     = Request.Files[0];
                    var fileSave = System.IO.Path.GetTempFileName();
                    file.SaveAs(fileSave);
                    using (var db = new XkSystem.Models.DbContext())
                    {
                        if (Code.Common.GetFileType(file.FileName) != Code.FileType.Excel)
                        {
                            error.AddError("上传的文件不是正确的EXCLE文件!");
                        }
                        var dt = Code.NpoiHelper.ExcelToDataTable(fileSave, System.IO.Path.GetExtension(file.FileName), string.Empty);

                        if (dt == null)
                        {
                            error.AddError("无法读取上传的文件,请检查文件格式是否正确!");
                        }
                        var tbList = new List <string>()
                        {
                            "手机号", "短信内容", "计划发送时间"
                        };
                        var Text = string.Empty;
                        foreach (var a in tbList)
                        {
                            if (!dt.Columns.Contains(a.ToString()))
                            {
                                Text += a + ",";
                            }
                        }
                        if (!string.IsNullOrEmpty(Text))
                        {
                            error.AddError("上传的EXCEL内容与预期不一致!缺少字段:" + Text);
                        }
                        var ImportList = new List <Dto.Sms.Import>();
                        //执行导入
                        var index = 0;
                        foreach (DataRow dr in dt.Rows)
                        {
                            index++;
                            var import = new Dto.Sms.Import();
                            import.Mobile = dr["手机号"].ToString();
                            if (string.IsNullOrEmpty(import.Mobile) || import.Mobile.Length != 11)
                            {
                                string msgError = string.Format("第{0}行数据手机号({1})格式不正确;", index.ToString(), import.Mobile);
                                error.AddError(msgError);
                                continue;
                            }
                            import.SmsTitle = dr["短信内容"].ToString();
                            if (string.IsNullOrEmpty(import.SmsTitle))
                            {
                                string msgError = string.Format("第{0}行数据短信内容不能为空;", index.ToString(), import.SmsTitle);
                                error.AddError(msgError);
                                continue;
                            }

                            if (!string.IsNullOrEmpty(dr["计划发送时间"].ToString()))
                            {
                                DateTime timeTemp = new DateTime();
                                if (!DateTime.TryParse(dr["计划发送时间"].ToString().Trim(), out timeTemp))
                                {
                                    string msgError = string.Format("第{0}行数据计划发送时间({1})格式不正确,(例如:{2});", index.ToString(), dr["计划发送时间"].ToString(), DateTime.Now.ToString(XkSystem.Code.Common.StringToDate));
                                    error.AddError(msgError);
                                    continue;
                                }
                                import.PlanDate = Convert.ToDateTime(dr["计划发送时间"]).ToString(XkSystem.Code.Common.StringToDateTime);
                            }
                            else
                            {
                                import.PlanDate = DateTime.Now.ToString(XkSystem.Code.Common.StringToDateTime);
                            }
                            vm.SmsImportList.Add(import);
                        }
                    }
                }
            }
            var dynamic = new { Status = decimal.Zero, Message = vm.SmsImportList };

            if (error != null && error.Count > decimal.Zero)
            {
                return(Json(new { Status = decimal.One, Message = error }, JsonRequestBehavior.AllowGet));
            }
            return(Json(dynamic, JsonRequestBehavior.AllowGet));
        }