Beispiel #1
0
        public HttpResponseMessage saveLC(object[] data)
        {
            SalLCMaster        itemMaster  = JsonConvert.DeserializeObject <SalLCMaster>(data[0].ToString());
            List <SalLCDetail> itemDetails = JsonConvert.DeserializeObject <List <SalLCDetail> >(data[1].ToString());

            // List<CmnDocument> fileInfo = JsonConvert.DeserializeObject<List<CmnDocument>>(data[2].ToString());
            // ArrayList ar = new ArrayList();
            ArrayList       fileNames   = JsonConvert.DeserializeObject <ArrayList>(data[2].ToString());
            vmCmnParameters objcmnParam = JsonConvert.DeserializeObject <vmCmnParameters>(data[3].ToString());

            SalLCMaster obj    = new SalLCMaster();
            string      result = "";

            try
            {
                //if (ModelState.IsValid)
                //{

                if (ModelState.IsValid && itemMaster != null && itemMaster.BuyerID.ToString() != "" && itemDetails.Count > 0)
                {
                    result        = objLCService.SaveUpdateLC(itemMaster, itemDetails, fileNames, objcmnParam);
                    lcReferenceNo = result;
                }
                else
                {
                    result = "";
                }

                //}
            }
            catch (Exception e)
            {
                e.ToString();
                result = "";
            }
            // System.Web.HttpContext.Current.Session.Add("LCReferenceNo", result);
            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
Beispiel #2
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);
        }