Esempio n. 1
0
        public string SaveUpdateLC(SalLCMaster LCInfo, List <SalLCDetail> LCDetailList, ArrayList fileNames, vmCmnParameters objcmnParam)
        {
            GenericFactory_SalLCMaster         = new SalLCMaster_EF();
            GenericFactory_SalLCDetail         = new SalLCDetail_EF();
            GenericFactory_CmnDocument         = new CmnDocument_EF();
            GenericFactory_EF_SalPIMaster      = new SalPIMaster_EF();
            GenericFactory_EF_SalBookingMaster = new SalBookingMaster_EF();

            string result = ""; string newLCRefNo = "";
            long   FirstDigit = 0, OtherDigits = 0, nextDetailId = 0, NextId = 0;

            #region Amendment Block
            if (LCInfo.LCID > 0)
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    try
                    {
                        NextId       = Convert.ToInt64(GenericFactory_SalLCMaster.getMaxID("SalLCMaster"));
                        nextDetailId = Convert.ToInt64(GenericFactory_SalLCDetail.getMaxID("SalLCDetail"));
                        FirstDigit   = Convert.ToInt64(nextDetailId.ToString().Substring(0, 1));
                        OtherDigits  = Convert.ToInt64(nextDetailId.ToString().Substring(1, Convert.ToInt32(nextDetailId.ToString().Length) - 1));

                        //******------------------start create LC Amendment No No------------------******
                        string[] amendmendNo = LCInfo.LCReferenceNo.ToString().Split(new string[] { "-AMD-" }, StringSplitOptions.None);  //itemMaster.PINO.ToString().Contains("Revise").ToString();

                        int amendNo = 0;
                        if (amendmendNo.Length > 1)
                        {
                            amendNo    = Convert.ToInt16(amendmendNo[amendmendNo.Length - 1]) + 1;
                            newLCRefNo = amendmendNo[0] + "-AMD-" + amendNo.ToString();
                        }
                        else if (amendmendNo.Length == 1)
                        {
                            newLCRefNo = LCInfo.LCReferenceNo.ToString() + "-AMD-1".ToString();
                            amendNo    = 1;
                        }
                        //******------------------end create  LC Amendment No------------------******


                        //******------------------Update LC master and Detail------------------******
                        Int64 lLCID = LCInfo.LCID;
                        IEnumerable <SalLCMaster> objSalLCMaster = GenericFactory_SalLCMaster.FindBy(m => m.LCID == lLCID).ToList();
                        SalLCMaster lstSalLCMaster = new SalLCMaster();
                        foreach (SalLCMaster lc in objSalLCMaster)
                        {
                            lc.IsActive    = false;
                            lstSalLCMaster = lc;
                        }

                        GenericFactory_SalLCMaster.Update(lstSalLCMaster);
                        GenericFactory_SalLCMaster.Save();


                        IEnumerable <SalLCDetail> objSalLCDetail = GenericFactory_SalLCDetail.FindBy(m => m.LCID == lLCID).ToList();
                        SalLCDetail lstSalLCDetail = new SalLCDetail();
                        foreach (SalLCDetail lcd in objSalLCDetail)
                        {
                            lcd.IsActive   = false;
                            lstSalLCDetail = lcd;
                        }

                        GenericFactory_SalLCDetail.Update(lstSalLCDetail);
                        GenericFactory_SalLCDetail.Save();
                        //******------------------End Update LC master and Detail ------------------******

                        //******------------------Start PI Table Update ------------------******
                        foreach (SalLCDetail sdtl in LCDetailList)
                        {
                            SalPIMaster objSalPIMaster = GenericFactory_EF_SalPIMaster.FindBy(m => m.PIID == sdtl.PIID).FirstOrDefault();
                            objSalPIMaster.IsLcCompleted = true;
                            GenericFactory_EF_SalPIMaster.Update(objSalPIMaster);
                            GenericFactory_EF_SalPIMaster.Save();
                        }

                        //******------------------ End PI Table Update ------------------******
                        LCInfo.LCID           = NextId;
                        LCInfo.LCReferenceNo  = newLCRefNo;
                        LCInfo.AmendmentDate  = LCInfo.LCDate;
                        LCInfo.AmendmentNo    = amendNo.ToString();
                        LCInfo.CreateOn       = DateTime.Now;
                        LCInfo.IsMasterLC     = false;
                        LCInfo.IsActive       = true;
                        LCInfo.IsHDOCompleted = false;

                        List <SalLCDetail> lstLCDetail = new List <SalLCDetail>();
                        foreach (SalLCDetail sdtl in LCDetailList)
                        {
                            SalLCDetail objLCDetail = new SalLCDetail();
                            objLCDetail.LCDetailID     = Convert.ToInt64(FirstDigit + "" + OtherDigits);
                            objLCDetail.LCID           = NextId;
                            objLCDetail.PIID           = sdtl.PIID;
                            objLCDetail.PINo           = sdtl.PINo;
                            objLCDetail.CustomCode     = LCInfo.LCReferenceNo;
                            objLCDetail.LCReferenceNo  = LCInfo.LCReferenceNo;
                            objLCDetail.AmendmentNo    = LCInfo.AmendmentNo;
                            objLCDetail.AmendmentDate  = LCInfo.AmendmentDate;
                            objLCDetail.CompanyID      = LCInfo.CompanyID;
                            objLCDetail.IsHDOCompleted = false;
                            objLCDetail.CreateBy       = LCInfo.CreateBy;
                            objLCDetail.CreateOn       = DateTime.Now;
                            objLCDetail.CreatePc       = HostService.GetIP();
                            objLCDetail.IsActive       = true;
                            objLCDetail.IsDeleted      = false;
                            objLCDetail.DBID           = 1;
                            objLCDetail.StatusBy       = 1;
                            objLCDetail.StatusID       = 1;
                            lstLCDetail.Add(objLCDetail);

                            OtherDigits++;
                        }

                        GenericFactory_SalLCMaster.Insert(LCInfo);
                        GenericFactory_SalLCMaster.Save();
                        GenericFactory_SalLCMaster.updateMaxID("SalLCMaster", Convert.ToInt64(NextId));

                        GenericFactory_SalLCDetail.InsertList(lstLCDetail);
                        GenericFactory_SalLCDetail.Save();
                        GenericFactory_SalLCDetail.updateMaxID("SalLCDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1)));

                        //**********----------------------Start File Upload----------------------**********
                        int DocumentID = Convert.ToInt16(GenericFactory_CmnDocument.getMaxID("CmnDocument"));
                        List <CmnDocument> lstCmnDocument = new List <CmnDocument>();

                        for (int i = 1; i <= fileNames.Count; i++)
                        {
                            CmnDocument objCmnDocument = new CmnDocument();
                            objCmnDocument.DocumentID     = DocumentID;
                            objCmnDocument.DocumentPahtID = 1;
                            //objCmnDocument.DocumentName = fileNames[i].ToString();
                            string extension = System.IO.Path.GetExtension(fileNames[i - 1].ToString());
                            objCmnDocument.DocumentName      = newLCRefNo + "_Doc_" + i + extension;
                            objCmnDocument.TransactionID     = LCInfo.LCID;
                            objCmnDocument.TransactionTypeID = 1;
                            objCmnDocument.CompanyID         = LCInfo.CompanyID;
                            objCmnDocument.CreateBy          = LCInfo.CreateBy;
                            objCmnDocument.CreateOn          = DateTime.Now;
                            objCmnDocument.CreatePc          = HostService.GetIP();
                            objCmnDocument.IsDeleted         = false;

                            objCmnDocument.IsDeleted = false;
                            lstCmnDocument.Add(objCmnDocument);

                            DocumentID++;
                        }

                        GenericFactory_CmnDocument.InsertList(lstCmnDocument);
                        GenericFactory_CmnDocument.Save();
                        GenericFactory_CmnDocument.updateMaxID("CmnDocument", Convert.ToInt64(DocumentID - 1));

                        //**********----------------------File upload completed----------------------**********
                        transaction.Complete();
                        result = newLCRefNo;
                    }
                    catch (Exception e)
                    {
                        e.ToString();
                        result = "";
                    }
                }
            }
            #endregion Amendment Block

            #region New LC Block
            else
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    //////////////////////////////////////////Primary Key and Custom Code Strat//////////////////////////////////

                    ////start new maxId
                    //int NextId = Convert.ToInt16(GenericFactory_SalLCMaster.getMaxID("SalLCMaster"));
                    //int nextDetailId = Convert.ToInt16(GenericFactory_SalLCDetail.getMaxID("SalLCDetail"));
                    ////end new maxId

                    //...........START  new maxId........//
                    NextId       = Convert.ToInt64(GenericFactory_SalLCMaster.getMaxID("SalLCMaster"));
                    nextDetailId = Convert.ToInt64(GenericFactory_SalLCDetail.getMaxID("SalLCDetail"));
                    FirstDigit   = Convert.ToInt64(nextDetailId.ToString().Substring(0, 1));
                    OtherDigits  = Convert.ToInt64(nextDetailId.ToString().Substring(1, nextDetailId.ToString().Length - 1));

                    //..........END new maxId.........//

                    //// start for custom code
                    //string customCode = "";
                    //CmnCustomCode objCustomCode = GFactory_EF_CmnCustomCode.FindBy(m => m.MenuID == 25 && m.CompanyID == LCInfo.CompanyID).FirstOrDefault();
                    //int customCodeID = Convert.ToInt16(objCustomCode.RecordID);
                    //if (customCodeID > 0)
                    //{
                    //    customCode = GenericFactory_SalLCMaster.getCustomCode(customCodeID, DateTime.Now, LCInfo.CompanyID, 1, 1);
                    //}
                    //else
                    //{
                    //    customCode = NextId.ToString();
                    //}
                    ////  end for custom code


                    //......... START for custom code........... //
                    string customCode = "";

                    string CustomNo = customCode = GenericFactory_SalLCMaster.getCustomCode(objcmnParam.menuId, LCInfo.LCDate ?? DateTime.Now, LCInfo.CompanyID, 1, 1);// // 1 for user id and 1 for db id --- work later
                    if (CustomNo != null)
                    {
                        customCode = CustomNo;
                    }
                    else
                    {
                        customCode = NextId.ToString();
                    }
                    //.........END for custom code............ //



                    //////////////////////////////////////////Primary Key and Custom Code End//////////////////////////////////

                    try
                    {
                        LCInfo.LCID     = NextId;
                        LCInfo.CreateOn = DateTime.Now;
                        if (LCInfo.MasterLCNO != "")
                        {
                            LCInfo.IsMasterLC = true;
                        }
                        else
                        {
                            LCInfo.IsMasterLC = false;
                        }
                        LCInfo.IsActive       = true;
                        LCInfo.LCReferenceNo  = customCode;
                        LCInfo.AmendmentNo    = "0";
                        LCInfo.IsHDOCompleted = false;

                        string ImagePath = string.Empty;

                        //if (string.IsNullOrEmpty(ImagePath) && !string.IsNullOrEmpty(LCInfo.ImageNames))
                        //{
                        //    //ImagePath=utils
                        //}


                        List <SalLCDetail> lstSalLCDetail = new List <SalLCDetail>();
                        foreach (SalLCDetail sdtl in LCDetailList)
                        {
                            SalLCDetail objSalLCDetail = new SalLCDetail();
                            //objSalLCDetail.LCDetailID = nextDetailId;
                            objSalLCDetail.LCDetailID     = Convert.ToInt64(FirstDigit + "" + OtherDigits);
                            objSalLCDetail.LCID           = NextId;
                            objSalLCDetail.PIID           = sdtl.PIID;
                            objSalLCDetail.PINo           = sdtl.PINo;
                            objSalLCDetail.CustomCode     = LCInfo.LCReferenceNo;
                            objSalLCDetail.LCReferenceNo  = LCInfo.LCReferenceNo;
                            objSalLCDetail.IsHDOCompleted = false;
                            objSalLCDetail.CompanyID      = LCInfo.CompanyID;
                            objSalLCDetail.CreateBy       = LCInfo.CreateBy;
                            objSalLCDetail.CreateOn       = DateTime.Now;
                            objSalLCDetail.CreatePc       = HostService.GetIP();
                            objSalLCDetail.IsActive       = true;
                            objSalLCDetail.IsDeleted      = false;
                            objSalLCDetail.DBID           = 1;
                            objSalLCDetail.StatusBy       = 1;
                            objSalLCDetail.StatusID       = 1;
                            lstSalLCDetail.Add(objSalLCDetail);

                            OtherDigits++;
                        }


                        //foreach (SalLCDetail sdtl in LCDetailList)
                        //{
                        //    SalPIMaster objSalPIMaster = GenericFactory_EF_SalPIMaster.FindBy(m => m.PIID == sdtl.PIID).FirstOrDefault();
                        //    objSalPIMaster.IsLcCompleted = true;
                        //    GenericFactory_EF_SalPIMaster.Update(objSalPIMaster);
                        //    GenericFactory_EF_SalPIMaster.Save();
                        //}


                        /////////////////////// Start PI Table Update /////////////////////////////


                        foreach (SalLCDetail sdtl in LCDetailList)
                        {
                            SalPIMaster objSalPIMaster = GenericFactory_EF_SalPIMaster.FindBy(m => m.PIID == sdtl.PIID).FirstOrDefault();
                            objSalPIMaster.IsLcCompleted = true;
                            GenericFactory_EF_SalPIMaster.Update(objSalPIMaster);
                            GenericFactory_EF_SalPIMaster.Save();
                        }

                        /////////////////////// End PI Table Update /////////////////////////////

                        /////////////////////// Start Booking Table Update /////////////////////////////

                        foreach (SalLCDetail sdtl in LCDetailList)
                        {
                            SalPIMaster      objSalPIMaster   = GenericFactory_EF_SalPIMaster.FindBy(m => m.PIID == sdtl.PIID).FirstOrDefault();
                            SalBookingMaster objBookingMaster = GenericFactory_EF_SalBookingMaster.FindBy(m => m.BookingID ==
                                                                                                          objSalPIMaster.BookingID).FirstOrDefault();

                            objBookingMaster.IsLCCompleted = true;
                            GenericFactory_EF_SalBookingMaster.Update(objBookingMaster);
                            GenericFactory_EF_SalBookingMaster.Save();
                        }

                        /////////////////////// End Booking Table Update /////////////////////////////


                        GenericFactory_SalLCMaster.Insert(LCInfo);
                        GenericFactory_SalLCMaster.Save();
                        GenericFactory_SalLCMaster.updateMaxID("SalLCMaster", Convert.ToInt64(NextId));

                        GenericFactory_SalLCMaster.updateCustomCode(25, DateTime.Now, LCInfo.CompanyID, 1, 1);

                        GenericFactory_SalLCDetail.InsertList(lstSalLCDetail);
                        GenericFactory_SalLCDetail.Save();
                        //GenericFactory_SalLCDetail.updateMaxID("SalLCDetail", Convert.ToInt64(nextDetailId - 1));
                        GenericFactory_SalLCDetail.updateMaxID("SalLCDetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1)));


                        ////////////////////////////////////////Start File Upload//////////////////////////////

                        int DocumentID = Convert.ToInt16(GenericFactory_CmnDocument.getMaxID("CmnDocument"));
                        List <CmnDocument> lstCmnDocument = new List <CmnDocument>();

                        for (int i = 1; i <= fileNames.Count; i++)
                        {
                            CmnDocument objCmnDocument = new CmnDocument();
                            objCmnDocument.DocumentID     = DocumentID;
                            objCmnDocument.DocumentPahtID = 1;
                            //objCmnDocument.DocumentName = fileNames[i].ToString();
                            string extension = System.IO.Path.GetExtension(fileNames[i - 1].ToString());
                            objCmnDocument.DocumentName      = customCode + "_Doc_" + i + extension;
                            objCmnDocument.TransactionID     = LCInfo.LCID;
                            objCmnDocument.TransactionTypeID = 1;
                            objCmnDocument.CompanyID         = LCInfo.CompanyID;
                            objCmnDocument.CreateBy          = LCInfo.CreateBy;
                            objCmnDocument.CreateOn          = DateTime.Now;
                            objCmnDocument.CreatePc          = HostService.GetIP();
                            objCmnDocument.IsDeleted         = false;

                            objCmnDocument.IsDeleted = false;
                            lstCmnDocument.Add(objCmnDocument);

                            DocumentID++;
                        }

                        GenericFactory_CmnDocument.InsertList(lstCmnDocument);
                        GenericFactory_CmnDocument.Save();
                        GenericFactory_CmnDocument.updateMaxID("CmnDocument", Convert.ToInt64(DocumentID - 1));
                        ///////////////////////////////////////////////File upload completed/////////////////////////////////////////////

                        transaction.Complete();
                        result = customCode;
                    }
                    catch (Exception e)
                    {
                        e.ToString();
                        result = "";
                    }
                }
            }
            #endregion New LC Block
            return(result);
        }
Esempio n. 2
0
        public string SaveUpdatePOMasterNdetails(PurchasePOMaster chMaster, List <PurchasePODetail> chDetails, int menuID, ArrayList fileNames, List <vmTermsCondition> termdetail)
        {
            _ctxCmn = new ERP_Entities();
            GenericFactory_EF_CmnCombo = new CmnCombo_EF();
            string result = "";

            if (chMaster.POID > 0)
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    try
                    {
                        Int64 poID = chMaster.POID;
                        IEnumerable <PurchasePOMaster> lstPurchasePOMaster = (from qcm in _ctxCmn.PurchasePOMasters.Where(m => m.POID == poID && m.CompanyID == chMaster.CompanyID) select qcm).ToList();
                        PurchasePOMaster objPurchasePOMaster = new PurchasePOMaster();
                        foreach (PurchasePOMaster qcms in lstPurchasePOMaster)
                        {
                            qcms.UpdateBy          = chMaster.CreateBy;
                            qcms.UpdateOn          = DateTime.Now;
                            qcms.UpdatePc          = HostService.GetIP();
                            qcms.POID              = chMaster.POID;
                            qcms.CurrencyID        = chMaster.CurrencyID;
                            qcms.Amount            = chMaster.Amount;
                            qcms.PODate            = chMaster.PODate;
                            qcms.BankAccountNo     = chMaster.BankAccountNo;
                            qcms.DepartmentID      = chMaster.DepartmentID;
                            qcms.TransactionTypeID = chMaster.TransactionTypeID;
                            qcms.BankBranchID      = chMaster.BankBranchID;
                            qcms.IsDeleted         = false;
                            qcms.BankID            = chMaster.BankID;
                            qcms.PartyID           = chMaster.PartyID;
                            //qcms.PIID = chMaster.PIID;
                            qcms.CompanyID  = chMaster.CompanyID;
                            qcms.ExpireDate = chMaster.ExpireDate;
                            //qcms.FRID= chMaster.FRID;
                            qcms.LCorVoucherorLcafDate  = chMaster.LCorVoucherorLcafDate;
                            qcms.LCorVoucherorLcafNo    = chMaster.LCorVoucherorLcafNo;
                            qcms.MoneyTransactionTypeID = chMaster.MoneyTransactionTypeID;
                            qcms.OrderTypeID            = chMaster.OrderTypeID;
                            qcms.RequisitionID          = qcms.RequisitionID;
                            qcms.ShipmentDate           = qcms.ShipmentDate;
                            objPurchasePOMaster         = qcms;
                        }
                        List <PurchasePODetail> lstPurchasePODetail = new List <PurchasePODetail>();
                        foreach (PurchasePODetail qcdt in chDetails)
                        {
                            PurchasePODetail objPurchasePODetail = (from qcdetl in _ctxCmn.PurchasePODetails.Where(m => m.PODetailID == qcdt.PODetailID) select qcdetl).FirstOrDefault();

                            objPurchasePODetail.Amount          = qcdt.Amount;
                            objPurchasePODetail.FOBValue        = qcdt.FOBValue;
                            objPurchasePODetail.FreightCharge   = qcdt.FreightCharge;
                            objPurchasePODetail.HSCode          = qcdt.HSCode;
                            objPurchasePODetail.ItemID          = qcdt.ItemID;
                            objPurchasePODetail.NetWeight       = qcdt.NetWeight;
                            objPurchasePODetail.IsDeleted       = false;
                            objPurchasePODetail.GrossWeight     = qcdt.GrossWeight;
                            objPurchasePODetail.OriginCountryID = qcdt.OriginCountryID;
                            objPurchasePODetail.NetWeight       = qcdt.NetWeight;
                            objPurchasePODetail.PackingQty      = qcdt.PackingQty;
                            objPurchasePODetail.PackingUnitID   = qcdt.PackingUnitID;
                            objPurchasePODetail.Qty             = qcdt.Qty;
                            objPurchasePODetail.UnitID          = qcdt.UnitID;
                            objPurchasePODetail.UnitPrice       = qcdt.UnitPrice;
                            objPurchasePODetail.WeightUnitID    = qcdt.WeightUnitID;
                            objPurchasePODetail.UpdateBy        = chMaster.CreateBy;
                            objPurchasePODetail.UpdateOn        = DateTime.Now;
                            objPurchasePODetail.UpdatePc        = HostService.GetIP();
                            lstPurchasePODetail.Add(objPurchasePODetail);
                        }
                        _ctxCmn.SaveChanges();

                        //**********----------------------Start File Upload----------------------**********
                        GenericFactory_CmnDocument = new CmnDocument_EF();
                        int DocumentID = Convert.ToInt16(GenericFactory_CmnDocument.getMaxID("CmnDocument"));
                        List <CmnDocument> lstCmnDocument = new List <CmnDocument>();

                        for (int i = 1; i <= fileNames.Count; i++)
                        {
                            CmnDocument objCmnDocument = new CmnDocument();
                            objCmnDocument.DocumentID     = DocumentID;
                            objCmnDocument.DocumentPahtID = 2;
                            //objCmnDocument.DocumentName = fileNames[i].ToString();
                            string extension = System.IO.Path.GetExtension(fileNames[i - 1].ToString());
                            objCmnDocument.DocumentName      = chMaster.PONo + "_Doc_" + i + extension;
                            objCmnDocument.TransactionID     = chMaster.POID;
                            objCmnDocument.TransactionTypeID = 22;
                            objCmnDocument.CompanyID         = chMaster.CompanyID;
                            objCmnDocument.CreateBy          = Convert.ToInt16(chMaster.CreateBy);
                            objCmnDocument.CreateOn          = DateTime.Now;
                            objCmnDocument.CreatePc          = HostService.GetIP();
                            objCmnDocument.IsDeleted         = false;

                            objCmnDocument.IsDeleted = false;
                            lstCmnDocument.Add(objCmnDocument);

                            DocumentID++;
                        }

                        GenericFactory_CmnDocument.InsertList(lstCmnDocument);
                        GenericFactory_CmnDocument.Save();
                        GenericFactory_CmnDocument.updateMaxID("CmnDocument", Convert.ToInt64(DocumentID - 1));

                        //**********----------------------File upload completed----------------------**********

                        transaction.Complete();
                        result = chMaster.PONo.ToString();
                    }
                    catch (Exception e)
                    {
                        e.ToString();
                        result = "";
                    }
                }
            }
            else
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    try
                    {
                        //...........START  new maxId...............//
                        long NextId = Convert.ToInt16(GenericFactory_EF_CmnCombo.getMaxID("PurchasePOMaster"));

                        long FirstDigit     = 0;
                        long OtherDigits    = 0;
                        long nextChDetailId = Convert.ToInt16(GenericFactory_EF_CmnCombo.getMaxID("PurchasePODetail"));
                        FirstDigit  = Convert.ToInt64(nextChDetailId.ToString().Substring(0, 1));
                        OtherDigits = Convert.ToInt64(nextChDetailId.ToString().Substring(1, nextChDetailId.ToString().Length - 1));
                        //..........END new maxId....................//


                        //......... START for custom code........... //

                        string customCode = "";
                        string CustomNo   = GenericFactory_EF_CmnCombo.getCustomCode(menuID, chMaster.PODate ?? DateTime.Now, chMaster.CompanyID ?? 1, 1, 1);

                        if (CustomNo != null)
                        {
                            customCode = CustomNo;
                        }
                        else
                        {
                            customCode = NextId.ToString();
                        }

                        //.........END for custom code............ //

                        string newChNo = customCode;
                        chMaster.POID      = NextId;
                        chMaster.CreateOn  = DateTime.Now;
                        chMaster.CreatePc  = HostService.GetIP();
                        chMaster.PONo      = newChNo;
                        chMaster.IsDeleted = false;


                        List <PurchasePODetail> lstchDetail = new List <PurchasePODetail>();
                        foreach (PurchasePODetail sdtl in chDetails)
                        {
                            PurchasePODetail objchDetail = new PurchasePODetail();
                            objchDetail.PODetailID      = Convert.ToInt64(FirstDigit + "" + OtherDigits);//nextQCDetailId;
                            objchDetail.POID            = NextId;
                            objchDetail.FOBValue        = sdtl.FOBValue;
                            objchDetail.FreightCharge   = sdtl.FreightCharge;
                            objchDetail.HSCode          = sdtl.HSCode;
                            objchDetail.OriginCountryID = sdtl.OriginCountryID;
                            objchDetail.ItemID          = sdtl.ItemID;
                            objchDetail.GrossWeight     = sdtl.GrossWeight;
                            objchDetail.NetWeight       = sdtl.NetWeight;
                            objchDetail.PackingQty      = sdtl.PackingQty;
                            objchDetail.PackingUnitID   = sdtl.PackingUnitID;
                            objchDetail.UnitID          = sdtl.UnitID;
                            objchDetail.UnitPrice       = sdtl.UnitPrice;
                            objchDetail.WeightUnitID    = sdtl.WeightUnitID;
                            objchDetail.Qty             = sdtl.Qty;
                            objchDetail.IsDeleted       = false;
                            objchDetail.Amount          = sdtl.Amount;
                            objchDetail.UnitID          = sdtl.UnitID;
                            objchDetail.CreateBy        = chMaster.CreateBy;
                            objchDetail.CreateOn        = DateTime.Now;
                            objchDetail.CreatePc        = HostService.GetIP();
                            lstchDetail.Add(objchDetail);
                            OtherDigits++;

                            // InvGrrDetail objInvGrrDetail = (from grrd in _ctxCmn.InvGrrDetails.Where(m => m.GrrID == qcMaster.GrrID && m.ItemID == sdtl.ItemID) select grrd).FirstOrDefault();
                            // objInvGrrDetail.QcRemainingQty = objInvGrrDetail.QcRemainingQty - (sdtl.PassQty + sdtl.RejectQty);
                        }

                        _ctxCmn.PurchasePOMasters.Add(chMaster);

                        //............Save Term and condition.................//
                        if (termdetail.Count > 0)
                        {
                            long FirstDigits  = 0;
                            long OtherDigitss = 0;
                            long NextPOTermID = Convert.ToInt16(GenericFactory_EF_CmnCombo.getMaxID("PurchasePOTerm"));
                            FirstDigits  = Convert.ToInt64(NextPOTermID.ToString().Substring(0, 1));
                            OtherDigitss = Convert.ToInt64(NextPOTermID.ToString().Substring(1, NextPOTermID.ToString().Length - 1));

                            List <PurchasePOTerm> lstTerms = new List <PurchasePOTerm>();
                            foreach (vmTermsCondition sdtl in termdetail)
                            {
                                PurchasePOTerm objchDetail = new PurchasePOTerm();
                                objchDetail.POTermsID = Convert.ToInt64(FirstDigits + "" + OtherDigitss);//nextQCDetailId;
                                objchDetail.POID      = NextId;
                                objchDetail.TermID    = Convert.ToInt32(sdtl.TermID);
                                objchDetail.CompanyID = Convert.ToInt16(chMaster.CompanyID);
                                objchDetail.Sequence  = sdtl.Sequence;
                                objchDetail.IsDeleted = false;
                                objchDetail.CreateBy  = Convert.ToInt32(chMaster.CreateBy);
                                objchDetail.CreateOn  = DateTime.Now;
                                objchDetail.CreatePc  = HostService.GetIP();
                                lstTerms.Add(objchDetail);
                                OtherDigitss++;
                            }
                            _ctxCmn.PurchasePOTerms.AddRange(lstTerms);

                            //............Update MaxID.................//
                            GenericFactory_EF_CmnCombo.updateMaxID("PurchasePOTerm", Convert.ToInt64(FirstDigits + "" + (OtherDigitss - 1)));
                        }

                        //............Update MaxID.................//
                        GenericFactory_EF_CmnCombo.updateMaxID("PurchasePOMaster", Convert.ToInt64(NextId));
                        //............Update CustomCode.............//
                        GenericFactory_EF_CmnCombo.updateCustomCode(menuID, chMaster.PODate ?? DateTime.Now, chMaster.CompanyID ?? 1, 1, 1);
                        _ctxCmn.PurchasePODetails.AddRange(lstchDetail);

                        //............Update MaxID.................//
                        GenericFactory_EF_CmnCombo.updateMaxID("PurchasePODetail", Convert.ToInt64(FirstDigit + "" + (OtherDigits - 1)));
                        _ctxCmn.SaveChanges();

                        //**********----------------------Start File Upload----------------------**********
                        GenericFactory_CmnDocument = new CmnDocument_EF();
                        int DocumentID = Convert.ToInt16(GenericFactory_CmnDocument.getMaxID("CmnDocument"));
                        List <CmnDocument> lstCmnDocument = new List <CmnDocument>();

                        for (int i = 1; i <= fileNames.Count; i++)
                        {
                            CmnDocument objCmnDocument = new CmnDocument();
                            objCmnDocument.DocumentID     = DocumentID;
                            objCmnDocument.DocumentPahtID = 2;
                            //objCmnDocument.DocumentName = fileNames[i].ToString();
                            string extension = System.IO.Path.GetExtension(fileNames[i - 1].ToString());
                            objCmnDocument.DocumentName      = chMaster.PONo + "_Doc_" + i + extension;
                            objCmnDocument.TransactionID     = chMaster.POID;
                            objCmnDocument.TransactionTypeID = 22;
                            objCmnDocument.CompanyID         = chMaster.CompanyID;
                            objCmnDocument.CreateBy          = Convert.ToInt16(chMaster.CreateBy);
                            objCmnDocument.CreateOn          = DateTime.Now;
                            objCmnDocument.CreatePc          = HostService.GetIP();
                            objCmnDocument.IsDeleted         = false;

                            objCmnDocument.IsDeleted = false;
                            lstCmnDocument.Add(objCmnDocument);

                            DocumentID++;
                        }

                        GenericFactory_CmnDocument.InsertList(lstCmnDocument);
                        GenericFactory_CmnDocument.Save();
                        GenericFactory_CmnDocument.updateMaxID("CmnDocument", Convert.ToInt64(DocumentID - 1));

                        //**********----------------------File upload completed----------------------**********

                        transaction.Complete();
                        result = newChNo;
                    }
                    catch (Exception e)
                    {
                        result = "";
                    }
                }
            }
            return(result);
        }
Esempio n. 3
0
        public int uploadFiles(List <vmRndDoc> _DocList)
        {
            int?transactionTypeID = _DocList.FirstOrDefault().TransactionTypeID;

            transactionTypeID = 30;
            ERP_Entities    _contex         = new ERP_Entities();
            CmnDocumentPath objDocumentPath = _contex.CmnDocumentPaths.Where(x => x.TransactionTypeID == transactionTypeID).FirstOrDefault();

            GenericFactory_CmnDocument = new CmnDocument_EF();
            int DocumentID = Convert.ToInt16(GenericFactory_CmnDocument.getMaxID("CmnDocument"));
            List <CmnDocument> lstCmnDocument    = new List <CmnDocument>();
            List <CmnDocument> UpdateCmnDocument = new List <CmnDocument>();
            bool isCreated = true;

            foreach (vmRndDoc item in _DocList)
            {
                CmnDocument objCmnDocument     = new CmnDocument();
                CmnDocument objCmnDocumentTemp = new CmnDocument();
                if (item.DocumentID == 0)
                {
                    isCreated = true;
                    objCmnDocument.DocumentID = DocumentID;
                }
                else
                {
                    isCreated = false;
                    objCmnDocument.DocumentID = item.DocumentID;
                    objCmnDocumentTemp        = _contex.CmnDocuments.Where(x => x.DocumentID == item.DocumentID).FirstOrDefault();
                }

                objCmnDocument.DocumentPahtID    = objDocumentPath.DocumentPathID;
                objCmnDocument.DocName           = item.DocName;
                objCmnDocument.DocumentName      = item.DocumentName;
                objCmnDocument.TransactionID     = item.TransactionID;
                objCmnDocument.TransactionTypeID = item.TransactionTypeID;
                objCmnDocument.CompanyID         = item.CompanyID;
                objCmnDocument.IsDeleted         = item.IsDeleted;

                if (isCreated)
                {
                    objCmnDocument.CreateBy = Convert.ToInt16(item.CreateBy);
                    objCmnDocument.CreateOn = DateTime.Now;
                    objCmnDocument.CreatePc = HostService.GetIP();
                }
                else if (item.IsDeleted)
                {
                    objCmnDocument.CreateBy = objCmnDocumentTemp.CreateBy;
                    objCmnDocument.CreateOn = objCmnDocumentTemp.CreateOn;
                    objCmnDocument.CreatePc = objCmnDocumentTemp.CreatePc;
                    objCmnDocument.UpdateBy = objCmnDocumentTemp.UpdateBy;
                    objCmnDocument.UpdateOn = objCmnDocumentTemp.UpdateOn;
                    objCmnDocument.UpdatePc = objCmnDocumentTemp.UpdatePc;

                    objCmnDocument.DeleteBy = Convert.ToInt16(item.CreateBy);
                    objCmnDocument.DeleteOn = DateTime.Now;
                    objCmnDocument.DeletePc = HostService.GetIP();
                }
                else
                {
                    objCmnDocument.CreateBy = objCmnDocumentTemp.CreateBy;
                    objCmnDocument.CreateOn = objCmnDocumentTemp.CreateOn;
                    objCmnDocument.CreatePc = objCmnDocumentTemp.CreatePc;
                    objCmnDocument.UpdateBy = Convert.ToInt16(item.CreateBy);
                    objCmnDocument.UpdateOn = DateTime.Now;
                    objCmnDocument.UpdatePc = HostService.GetIP();
                }
                DocumentID++;
                if (isCreated)
                {
                    lstCmnDocument.Add(objCmnDocument);
                }
                else
                {
                    UpdateCmnDocument.Add(objCmnDocument);
                }
            }

            GenericFactory_CmnDocument.InsertList(lstCmnDocument);
            GenericFactory_CmnDocument.Save();
            GenericFactory_CmnDocumentUpDate = new CmnDocument_EF();
            GenericFactory_CmnDocumentUpDate.UpdateList(UpdateCmnDocument);
            GenericFactory_CmnDocumentUpDate.Save();
            GenericFactory_CmnDocument.updateMaxID("CmnDocument", Convert.ToInt64(DocumentID - 1));
            return(DocumentID);
        }