Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        //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);
        }