public ResultModels InsertUnit(UnitOfMeasureModel model) { ResultModels result = new ResultModels(); result.IsOk = true; using (var cxt = new NuWebContext()) { //check code var itemDb = cxt.I_UnitOfMeasure.Where(ww => ww.Code.ToUpper() == model.Code.Trim().ToUpper()).FirstOrDefault(); if (itemDb != null) { result.IsOk = false; result.Message = "UOM is exist!"; return(result); } var item = new I_UnitOfMeasure(); item.Id = Guid.NewGuid().ToString(); item.Code = item.Code.Trim(); item.Name = item.Name; item.IsActive = item.IsActive; item.UpdatedBy = item.UpdatedBy; item.UpdatedDate = DateTime.Now; item.CreatedBy = item.CreatedBy; item.CreatedDate = item.CreatedDate; item.Status = (int)Commons.EStatus.Actived; cxt.I_UnitOfMeasure.Add(item); cxt.SaveChanges(); } return(result); }
public bool Insert(UnitOfMeasureModel model, ref string msg) { bool result = true; using (NuWebContext cxt = new NuWebContext()) { try { //if (cxt.I_UnitOfMeasure.Where(xx => xx.Code == model.Code).Select(ss => ss.Code).SingleOrDefault() != null) //{ // msg = "UOM code already exist, please input another one!"; // return false; //} var itemExsit = cxt.I_UnitOfMeasure.Any(x => x.Code.ToLower().Equals(model.Code.ToLower()) && x.Status != (int)Commons.EStatus.Deleted && x.OrganizationId == model.OrganizationId); if (itemExsit) { msg = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("UOM Code") + " [" + model.Code + "] " + _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("is duplicated"); return(false); } if (string.IsNullOrEmpty(model.Name)) { model.Name = model.Code; } I_UnitOfMeasure item = new I_UnitOfMeasure(); item.Id = Guid.NewGuid().ToString(); item.Code = model.Code; item.Name = model.Name; item.IsActive = model.IsActive; item.CreatedBy = model.CreatedBy; item.CreatedDate = model.CreatedDate; item.UpdatedBy = model.UpdatedBy; item.UpdatedDate = model.UpdatedDate; item.OrganizationId = model.OrganizationId; item.Description = model.Description; item.Status = (int)Commons.EStatus.Actived; cxt.I_UnitOfMeasure.Add(item); cxt.SaveChanges(); } catch (Exception ex) { _logger.Error(ex); } } return(result); }
//public List<UnitOfMeasureModel> _GetTables() //{ // using (NuWebContext cxt = new NuWebContext()) // { // try // { // var lstResult = (from uom in cxt.I_UnitOfMeasure // select new UnitOfMeasureModel() // { // Id = uom.Id, // Code = uom.Code, // Name = uom.Name, // IsActive = uom.IsActive, // CreatedBy = uom.CreatedBy, // CreatedDate = uom.CreatedDate, // UpdatedBy = uom.UpdatedBy, // UpdatedDate = uom.UpdatedDate, // OrganizationId = uom.OrganizationId, // Description = uom.Description // }).ToList(); // return lstResult; // } // catch (Exception ex) // { // _logger.Error(ex.Message); // return null; // } // } //} public StatusResponse Import(string filePath, ref ImportModel importModel, ref string msg, UserSession User) { StatusResponse Response = new StatusResponse(); using (NuWebContext cxt = new NuWebContext()) { using (var transaction = cxt.Database.BeginTransaction()) { DataTable dtUOM = ReadExcelFile(filePath, "Sheet1"); string tmpExcelPath = HttpContext.Current.Server.MapPath("~/ImportExportTemplate") + "/SBUnitOfMeasure.xlsx"; DataTable dtTmpUOM = ReadExcelFile(@tmpExcelPath, "Sheet1"); if (dtUOM.Columns.Count != dtTmpUOM.Columns.Count) { msg = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons._MsgDoesNotMatchFileExcel); return(Response); } //======== bool flagInsert = true; string msgError = ""; ImportItem itemErr = null; List <UnitOfMeasureModel> Models = new List <UnitOfMeasureModel>(); UnitOfMeasureModel UOMModel = null; foreach (DataRow item in dtUOM.Rows) { flagInsert = true; msgError = ""; if (item[0].ToString().Equals("")) { continue; } int index = int.Parse(item[0].ToString()); UOMModel = new UnitOfMeasureModel(); UOMModel.Id = Guid.NewGuid().ToString(); UOMModel.Code = item[1].ToString().Trim().Replace(" ", " "); UOMModel.Name = item[2].ToString().Trim().Replace(" ", " "); UOMModel.Description = item[3].ToString(); UOMModel.IsActive = GetBoolValue(item[4].ToString()); UOMModel.CreatedBy = User.UserName; UOMModel.CreatedDate = DateTime.Now; UOMModel.UpdatedBy = User.UserName; UOMModel.UpdatedDate = DateTime.Now; UOMModel.OrganizationId = User.ListOrganizationId[0]; UOMModel.Status = (int)Commons.EStatus.Actived; if (string.IsNullOrEmpty(UOMModel.Code)) { flagInsert = false; msgError += "<br/>" + _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("UOM Code is required"); } if (string.IsNullOrEmpty(UOMModel.Name)) { flagInsert = false; msgError += "<br/>" + _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("UOM Name is required"); } //====================== if (flagInsert) { Models.Add(UOMModel); } else { itemErr = new ImportItem(); itemErr.Name = UOMModel.Name; itemErr.ListFailStoreName.Add(""); itemErr.ListErrorMsg.Add("Row: " + UOMModel.Index + msgError); importModel.ListImport.Add(itemErr); } } //================= Response.Status = true; try { var lstCodes = Models.Select(ss => ss.Code.ToLower()).ToList(); var lstExists = cxt.I_UnitOfMeasure.Where(ww => lstCodes.Contains(ww.Code.ToLower()) && User.ListOrganizationId.Contains(ww.OrganizationId) && ww.Status != (int)Commons.EStatus.Deleted).ToList(); if (lstExists != null && lstExists.Count > 0) { lstCodes = new List <string>(); foreach (var item in lstExists) { msgError = string.Format(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("UOM Code") + " [{0}] " + _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("is exist") + "!", item.Code); itemErr = new ImportItem(); itemErr.Name = item.Name; itemErr.ListFailStoreName.Add(""); itemErr.ListErrorMsg.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Row") + ": " + msgError); importModel.ListImport.Add(itemErr); lstCodes.Add(item.Code); } } //Models = Models.Where(x => !lstCodes.Contains(x.Code)).ToList(); if (importModel.ListImport.Count == 0) { List <I_UnitOfMeasure> lstSave = new List <I_UnitOfMeasure>(); I_UnitOfMeasure item = null; foreach (var model in Models) { item = new I_UnitOfMeasure(); item.Id = model.Id; item.Code = model.Code; item.Name = model.Name; item.Description = model.Description; item.OrganizationId = model.OrganizationId; item.CreatedBy = model.CreatedBy; item.CreatedDate = model.CreatedDate; item.UpdatedDate = model.UpdatedDate; item.UpdatedBy = model.UpdatedBy; item.IsActive = model.IsActive; item.Status = (int)Commons.EStatus.Actived; lstSave.Add(item); } cxt.I_UnitOfMeasure.AddRange(lstSave); cxt.SaveChanges(); transaction.Commit(); //if (importModel.ListImport.Count == 0) //{ ImportItem impItem = new ImportItem(); impItem.Name = "Import Unit Of Measurement Successful"; impItem.ListSuccessStoreName.Add("Import Unit Of Measurement Successful"); importModel.ListImport.Add(impItem); //} NSLog.Logger.Info("Import UOM Successful", lstSave); } } catch (Exception ex) { transaction.Rollback(); //_logger.Error(ex); NSLog.Logger.Error("Import UOM error", ex); } } } return(Response); }