Пример #1
0
        public string DelUpdateFiniChemicalMasterDetail(vmCmnParameters objcmnParam)
        {
            string result = "";

            using (var transaction = new TransactionScope())
            {
                var MasterItem = new PrdFinishingChemicalSetup();
                var DetailItem = new List <PrdFinishingChemicalSetupDetail>();

                //For Update Master Detail
                var MasterAll = GenericFactory_PrdFinishingChemicalSetup_EF.GetAll().Where(x => x.FinChemicalStupID == objcmnParam.id && x.CompanyID == objcmnParam.loggedCompany);
                var DetailAll = GenericFactory_PrdFinishingChemicalSetupDetail_EF.GetAll().Where(x => x.FinChemicalStupID == objcmnParam.id && x.CompanyID == objcmnParam.loggedCompany);
                //-------------------END----------------------

                try
                {
                    MasterItem           = MasterAll.First(x => x.FinChemicalStupID == objcmnParam.id);
                    MasterItem.CompanyID = objcmnParam.loggedCompany;
                    MasterItem.DeleteBy  = objcmnParam.loggeduser;
                    MasterItem.DeleteOn  = DateTime.Now;
                    MasterItem.DeletePc  = HostService.GetIP();
                    MasterItem.IsDeleted = true;

                    foreach (PrdFinishingChemicalSetupDetail d in DetailAll.Where(d => d.FinChemicalStupID == objcmnParam.id))
                    {
                        d.CompanyID = objcmnParam.loggedCompany;
                        d.DeleteBy  = objcmnParam.loggeduser;
                        d.DeleteOn  = DateTime.Now;
                        d.DeletePc  = HostService.GetIP();
                        d.IsDeleted = true;

                        DetailItem.Add(d);
                    }

                    if (MasterItem != null)
                    {
                        GenericFactory_PrdFinishingChemicalSetup_EF.Update(MasterItem);
                        GenericFactory_PrdFinishingChemicalSetup_EF.Save();
                    }
                    if (DetailItem != null)
                    {
                        GenericFactory_PrdFinishingChemicalSetupDetail_EF.UpdateList(DetailItem.ToList());
                        GenericFactory_PrdFinishingChemicalSetupDetail_EF.Save();
                    }

                    transaction.Complete();
                    result = "1";
                }
                catch (Exception e)
                {
                    result = "";
                    e.ToString();
                }
            }
            return(result);
        }
Пример #2
0
        public string SaveUpdateFiniChemicalMasterDetail(vmFinishingChemicalPreparation Master, List <vmFinishingChemicalPreparation> Detail, vmCmnParameters objcmnParam)
        {
            string result = string.Empty;

            using (var transaction = new TransactionScope())
            {
                //*********************************************Start Initialize Variable*****************************************
                long MasterId = 0, DetailId = 0, FirstDigit = 0, OtherDigits = 0; string CustomNo = string.Empty, ChemicalNo;
                //***************************************End Initialize Variable*************************************************

                //**************************Start Initialize Generic Repository Based on table***********************************
                GenericFactory_PrdFinishingChemicalSetup_EF       = new PrdFinishingChemicalSetup_EF();
                GenericFactory_PrdFinishingChemicalSetupDetail_EF = new PrdFinishingChemicalSetupDetail_EF();
                //****************************End Initialize Generic Repository Based on table***********************************

                //**********************************Start Create Related Table Instance to Save**********************************
                var MasterItem  = new PrdFinishingChemicalSetup();
                var DetailItem  = new List <PrdFinishingChemicalSetupDetail>();
                var DetailItems = new List <PrdFinishingChemicalSetupDetail>();
                //************************************End Create Related Table Instance to Save**********************************

                //*************************************Start Create Model Instance to get Data***********************************
                vmFinishingChemicalPreparation  item    = new vmFinishingChemicalPreparation();
                vmFinishingChemicalPreparation  items   = new vmFinishingChemicalPreparation();
                PrdFinishingChemicalSetupDetail itemdel = new PrdFinishingChemicalSetupDetail();
                //***************************************End Create Model Instance to get Data***********************************

                var SDetail = Detail.Where(x => x.FinChemicalStupDetailID == 0).ToList();
                var UDetail = Detail.Where(x => x.FinChemicalStupDetailID != 0).ToList();
                //**************************************************Start Main Operation************************************************
                if (Detail.Count > 0)
                {
                    try
                    {
                        if (Master.FinChemicalStupID == 0)
                        {
                            //***************************************************Start Save Operation************************************************
                            //**********************************************Start Generate Master & Detail ID****************************************
                            MasterId    = Convert.ToInt16(GenericFactory_PrdFinishingChemicalSetup_EF.getMaxID("PrdFinishingChemicalSetup"));
                            DetailId    = Convert.ToInt64(GenericFactory_PrdFinishingChemicalSetupDetail_EF.getMaxID("PrdFinishingChemicalSetupDetail"));
                            FirstDigit  = Convert.ToInt64(DetailId.ToString().Substring(0, 1));
                            OtherDigits = Convert.ToInt64(DetailId.ToString().Substring(1, DetailId.ToString().Length - 1));
                            //***********************************************End Generate Master & Detail ID*****************************************

                            CustomNo = GenericFactory_PrdFinishingChemicalSetup_EF.getCustomCode(objcmnParam.menuId, DateTime.Now, objcmnParam.loggedCompany, 1, 1);
                            if (CustomNo == null || CustomNo == "")
                            {
                                ChemicalNo = MasterId.ToString();
                            }
                            else
                            {
                                ChemicalNo = CustomNo;
                            }

                            MasterItem = new PrdFinishingChemicalSetup
                            {
                                FinChemicalStupID  = (int)MasterId,
                                FinishingProcessID = Master.FinishingProcessID,
                                FinChemicalStupNo  = (int)MasterId,
                                Date    = Master.PreparationDate,
                                Remarks = Master.Remarks,

                                CompanyID = objcmnParam.loggedCompany,
                                CreateBy  = objcmnParam.loggeduser,
                                CreateOn  = DateTime.Now,
                                CreatePc  = HostService.GetIP(),
                                IsDeleted = false
                            };

                            for (int i = 0; i < Detail.Count; i++)
                            {
                                item = Detail[i];
                                var Detailitem = new PrdFinishingChemicalSetupDetail
                                {
                                    FinChemicalStupDetailID = Convert.ToInt32(FirstDigit + "" + OtherDigits),
                                    FinChemicalStupID       = (int)MasterId,
                                    ChemicalID = (long)item.ChemicalID,
                                    MaxQty     = item.MaxQty,
                                    MinQty     = (decimal)item.MinQty,
                                    UnitID     = (int)item.UnitID,

                                    CompanyID = objcmnParam.loggedCompany,
                                    CreateBy  = objcmnParam.loggeduser,
                                    CreateOn  = DateTime.Now,
                                    CreatePc  = HostService.GetIP(),
                                    IsDeleted = false
                                };
                                DetailItem.Add(Detailitem);
                                OtherDigits++;
                            }
                            //***************************************************End Save Operation************************************************
                        }
                        else
                        {
                            //***********************************Start Get Data From Related Table to Update*********************************
                            var MasterAll = GenericFactory_PrdFinishingChemicalSetup_EF.GetAll().Where(x => x.FinChemicalStupID == Master.FinChemicalStupID && x.CompanyID == objcmnParam.loggedCompany);
                            var DetailAll = GenericFactory_PrdFinishingChemicalSetupDetail_EF.GetAll().Where(x => x.FinChemicalStupID == Master.FinChemicalStupID && x.CompanyID == objcmnParam.loggedCompany).ToArray();
                            //*************************************End Get Data From Related Table to Update*********************************

                            //***************************************************Start Update Operation********************************************
                            MasterItem = MasterAll.First(x => x.FinChemicalStupID == Master.FinChemicalStupID);
                            MasterItem.FinishingProcessID = (int)Master.FinishingProcessID;
                            //MasterItem.FinChemicalStupNo = int.Parse(Master.FinChemicalStupNo);
                            MasterItem.Date    = (DateTime)Master.PreparationDate;
                            MasterItem.Remarks = Master.Remarks;

                            MasterItem.CompanyID = objcmnParam.loggedCompany;
                            MasterItem.UpdateBy  = objcmnParam.loggeduser;
                            MasterItem.UpdateOn  = DateTime.Now;
                            MasterItem.UpdatePc  = HostService.GetIP();
                            MasterItem.IsDeleted = false;

                            for (int i = 0; i < UDetail.Count; i++)
                            {
                                item = UDetail[i];
                                foreach (PrdFinishingChemicalSetupDetail d in DetailAll.Where(d => d.FinChemicalStupID == Master.FinChemicalStupID && d.FinChemicalStupDetailID == item.FinChemicalStupDetailID))
                                {
                                    d.ChemicalID = (long)item.ChemicalID;
                                    d.MaxQty     = item.MaxQty;
                                    d.MinQty     = (decimal)item.MinQty;
                                    d.UnitID     = (int)item.UnitID;

                                    d.CompanyID = objcmnParam.loggedCompany;
                                    d.UpdateBy  = objcmnParam.loggeduser;
                                    d.UpdateOn  = DateTime.Now;
                                    d.UpdatePc  = HostService.GetIP();
                                    d.IsDeleted = false;

                                    DetailItem.Add(d);
                                    break;
                                }
                            }
                            if (SDetail != null && SDetail.Count != 0)
                            {
                                for (int i = 0; i < SDetail.Count; i++)
                                {
                                    item        = SDetail[i];
                                    DetailId    = Convert.ToInt64(GenericFactory_PrdFinishingChemicalSetupDetail_EF.getMaxID("PrdFinishingChemicalSetupDetail"));
                                    FirstDigit  = Convert.ToInt64(DetailId.ToString().Substring(0, 1));
                                    OtherDigits = Convert.ToInt64(DetailId.ToString().Substring(1, DetailId.ToString().Length - 1));

                                    var Detailitems = new PrdFinishingChemicalSetupDetail
                                    {
                                        FinChemicalStupDetailID = Convert.ToInt32(FirstDigit + "" + OtherDigits),
                                        FinChemicalStupID       = (int)Master.FinChemicalStupID,
                                        ChemicalID = (long)item.ChemicalID,
                                        MaxQty     = item.MaxQty,
                                        MinQty     = (decimal)item.MinQty,
                                        UnitID     = (int)item.UnitID,

                                        CompanyID = objcmnParam.loggedCompany,
                                        CreateBy  = objcmnParam.loggeduser,
                                        CreateOn  = DateTime.Now,
                                        CreatePc  = HostService.GetIP(),
                                        IsDeleted = false
                                    };
                                    DetailItems.Add(Detailitems);
                                    GenericFactory_PrdFinishingChemicalSetupDetail_EF.updateMaxID("PrdFinishingChemicalSetupDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits)));
                                }
                            }

                            if (UDetail.Count < DetailAll.Count())
                            {
                                for (int i = 0; i < DetailAll.Count(); i++)
                                {
                                    itemdel = DetailAll[i];

                                    var delDetail = (from del in DetailItem.Where(x => x.FinChemicalStupDetailID == itemdel.FinChemicalStupDetailID) select del.FinChemicalStupDetailID).FirstOrDefault();
                                    if (delDetail != itemdel.FinChemicalStupDetailID)
                                    {
                                        var tem = DetailAll.FirstOrDefault(d => d.FinChemicalStupID == Master.FinChemicalStupID && d.FinChemicalStupDetailID == itemdel.FinChemicalStupDetailID);
                                        tem.CompanyID = objcmnParam.loggedCompany;
                                        tem.DeleteBy  = objcmnParam.loggeduser;
                                        tem.DeleteOn  = DateTime.Now;
                                        tem.DeletePc  = HostService.GetIP();
                                        tem.IsDeleted = true;
                                        DetailItem.Add(tem);
                                    }
                                }
                            }
                            //***************************************************End Update Operation********************************************
                        }

                        if (Master.FinChemicalStupID > 0)
                        {
                            //***************************************************Start Update************************************************
                            if (MasterItem != null)
                            {
                                GenericFactory_PrdFinishingChemicalSetup_EF.Update(MasterItem);
                                GenericFactory_PrdFinishingChemicalSetup_EF.Save();
                            }
                            if (DetailItem != null && DetailItem.Count != 0)
                            {
                                GenericFactory_PrdFinishingChemicalSetupDetail_EF.UpdateList(DetailItem.ToList());
                                GenericFactory_PrdFinishingChemicalSetupDetail_EF.Save();
                            }
                            if (DetailItems != null && DetailItems.Count != 0)
                            {
                                GenericFactory_PrdFinishingChemicalSetupDetail_EF.InsertList(DetailItems.ToList());
                                GenericFactory_PrdFinishingChemicalSetupDetail_EF.Save();
                            }
                            //***************************************************End Update************************************************
                        }
                        else
                        {
                            //***************************************************Start Save************************************************
                            if (MasterItem != null)
                            {
                                GenericFactory_PrdFinishingChemicalSetup_EF.Insert(MasterItem);
                                GenericFactory_PrdFinishingChemicalSetup_EF.Save();
                                GenericFactory_PrdFinishingChemicalSetup_EF.updateMaxID("PrdFinishingChemicalSetup", Convert.ToInt64(MasterId));
                                GenericFactory_PrdFinishingChemicalSetup_EF.updateCustomCode(objcmnParam.menuId, DateTime.Now, objcmnParam.loggedCompany, 1, 1);
                            }
                            if (DetailItem != null && DetailItem.Count != 0)
                            {
                                GenericFactory_PrdFinishingChemicalSetupDetail_EF.InsertList(DetailItem.ToList());
                                GenericFactory_PrdFinishingChemicalSetupDetail_EF.Save();
                                GenericFactory_PrdFinishingChemicalSetupDetail_EF.updateMaxID("PrdFinishingChemicalSetupDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1)));
                            }
                            //******************************************************End Save************************************************
                        }

                        transaction.Complete();
                        result = "1";
                    }
                    catch (Exception e)
                    {
                        result = "";
                        e.ToString();
                    }
                }
                else
                {
                    result = "";
                }
            }
            return(result);
            //**************************************************End Main Operation************************************************
        }