Ejemplo n.º 1
0
        private byte GetITCMovement(byte?invoiceType)
        {
            byte ITC;

            EnumConstants.InvoiceSpecialCondition invType = (EnumConstants.InvoiceSpecialCondition)Enum.Parse(typeof(EnumConstants.InvoiceSpecialCondition), invoiceType.ToString());

            switch (invType)
            {
            case EnumConstants.InvoiceSpecialCondition.ReverseCharges:
            case EnumConstants.InvoiceSpecialCondition.Import:
                ITC = (byte)EnumConstants.ITCMovement.Credit;
                break;

            case EnumConstants.InvoiceSpecialCondition.Export:    //With payment of IGST
            case EnumConstants.InvoiceSpecialCondition.DeemedExport:
            case EnumConstants.InvoiceSpecialCondition.SEZDeveloper:
            case EnumConstants.InvoiceSpecialCondition.SEZUnit:
            case EnumConstants.InvoiceSpecialCondition.SupplierMissingInvoice:
            case EnumConstants.InvoiceSpecialCondition.Regular:
            case EnumConstants.InvoiceSpecialCondition.Advance:
                ITC = (byte)EnumConstants.ITCMovement.Debit;
                break;

            default:
                ITC = 0;
                break;
            }
            return(ITC);
        }
Ejemplo n.º 2
0
        private byte GetITCMovementReceiver(byte?invoiceType)
        {
            byte ITC;

            EnumConstants.InvoiceSpecialCondition invType = (EnumConstants.InvoiceSpecialCondition)Enum.Parse(typeof(EnumConstants.InvoiceSpecialCondition), invoiceType.ToString());

            switch (invType)
            {
            case EnumConstants.InvoiceSpecialCondition.ReverseCharges:
            case EnumConstants.InvoiceSpecialCondition.Import:
            case EnumConstants.InvoiceSpecialCondition.SupplierMissingInvoice:
            case EnumConstants.InvoiceSpecialCondition.RegularRCM:    //2A
                ITC = (byte)EnumConstants.ITCMovement.Credit;
                break;

            //case EnumConstants.InvoiceSpecialCondition.Export://With payment of IGST
            //case EnumConstants.InvoiceSpecialCondition.DeemedExport:
            //case EnumConstants.InvoiceSpecialCondition.SEZDeveloper:
            //case EnumConstants.InvoiceSpecialCondition.SEZUnit:
            case EnumConstants.InvoiceSpecialCondition.Regular:    //2A
                // when the seller recieves advance and assigns the vocher to an inovice then only , ti is eligible for itc
                //case EnumConstants.InvoiceSpecialCondition.Advance:
                ITC = (byte)EnumConstants.ITCMovement.Debit;
                break;

            default:
                ITC = 0;
                break;
            }
            return(ITC);
        }
Ejemplo n.º 3
0
 protected void lv_InvoiceType_ItemDataBound(object sender, ListViewItemEventArgs e)
 {
     if (e.Item.ItemType == ListViewItemType.DataItem)
     {
         HiddenField hFInvoiceKey   = (HiddenField)e.Item.FindControl("hFInvoiceKey") as HiddenField;
         TextBox     txtInvoiceType = (TextBox)e.Item.FindControl("txtInvoiceType") as TextBox;
         EnumConstants.InvoiceSpecialCondition InvoiceType = (EnumConstants.InvoiceSpecialCondition)Enum.Parse(typeof(EnumConstants.InvoiceSpecialCondition), hFInvoiceKey.Value);
         var   cDate   = DateTime.Now.Year;
         var   pDate   = DateTime.Now.Year + 1;
         var   year    = cDate.ToString().Substring(2, 2) + "-" + pDate.ToString().Substring(2, 2);
         Label lblYear = (Label)e.Item.FindControl("lblYear") as Label;
         lblYear.Text        = year;
         txtInvoiceType.Text = cls_Invoice.InvoiceNoPreFix(InvoiceType);
     }
 }
Ejemplo n.º 4
0
        private GST_TRN_INVOICE GetInvoiceInformation(DataRow dataRow, string SupplierGSTIN, byte sheetCode, string UserId)
        {
            GST_TRN_INVOICE invoice = new GST_TRN_INVOICE();

            try
            {
                cls_Invoice invoiceObject = new cls_Invoice();
                //B2B
                if (sheetCode == 0)
                {
                    var RecieverGSTIN = dataRow.Field <string>("Column0");
                    var GstnExit      = unitOfWork.AspnetRepository.Filter(w => w.GSTNNo == RecieverGSTIN).FirstOrDefault();
                    invoice.InvoiceNo      = dataRow.ItemArray[1].ToString().Contains('.') ? dataRow.ItemArray[1].ToString().Split('.')[0] : dataRow.ItemArray[1].ToString();
                    invoice.InvoiceDate    = dataRow.Field <DateTime>("Column2");
                    invoice.InvoiceMonth   = (byte)invoice.InvoiceDate.Value.Month;
                    invoice.SellerUserID   = FindUserId(SupplierGSTIN);
                    invoice.ReceiverUserID = FindUserId(dataRow.Field <string>("Column0"));
                    var ConsigneeUserId = FindUserId(dataRow.Field <string>("Column7"));
                    invoice.ConsigneeUserID = ConsigneeUserId == null ? invoice.ReceiverUserID : ConsigneeUserId;
                    invoice.OrderDate       = dataRow.Field <DateTime>("Column2").Date;
                    //invoice.VendorID =
                    invoice.Freight   = Convert.ToInt32(dataRow.ItemArray[13].ToString().Split('.')[0]);
                    invoice.Insurance = Convert.ToInt32(dataRow.ItemArray[14].ToString().Split('.')[0]);
                    invoice.PackingAndForwadingCharges = Convert.ToInt32(dataRow.ItemArray[15].ToString().Split('.')[0]);
                    //invoice.   =
                    //invoice.ElectronicReferenceNoDate =
                    invoice.InvoiceType = sheetCode;
                    invoice.FinYear_ID  = invoiceObject.GetCurrentFinYear();
                    string getIsinter   = GstnExit == null ? "" : GstnExit.GSTNNo;
                    string strStatecode = getIsinter.Substring(0, 2);
                    string Statecod     = GstnExit == null ? "" : GstnExit.StateCode;
                    if (strStatecode == Statecod)
                    {
                        invoice.IsInter = false;
                    }
                    else
                    {
                        invoice.IsInter = true;
                    }
                    invoice.InvoiceStatus = Convert.ToByte(EnumConstants.InvoiceStatus.Fresh);
                    // invoice.TaxBenefitingState =
                    invoice.Status = true;
                    EnumConstants.InvoiceSpecialCondition value = (EnumConstants.InvoiceSpecialCondition)Enum.Parse(typeof(EnumConstants.InvoiceSpecialCondition), dataRow.ItemArray[6].ToString());
                    invoice.InvoiceSpecialCondition = (byte)value;
                }
                //B2CL
                else if (sheetCode == 1)
                {
                    var RecieverGSTIN = dataRow.ItemArray[14].ToString().Contains('.') ? dataRow.ItemArray[14].ToString().Split('.')[0] : dataRow.ItemArray[14].ToString();
                    var GstnExit      = unitOfWork.AspnetRepository.Filter(w => w.GSTNNo == RecieverGSTIN).FirstOrDefault();
                    invoice.InvoiceNo      = dataRow.ItemArray[0].ToString().Contains('.') ? dataRow.ItemArray[0].ToString().Split('.')[0] : dataRow.ItemArray[0].ToString();
                    invoice.InvoiceDate    = dataRow.Field <DateTime>("Column1");
                    invoice.InvoiceMonth   = (byte)invoice.InvoiceDate.Value.Month;
                    invoice.SellerUserID   = FindUserId(SupplierGSTIN);
                    invoice.ReceiverUserID = FindUserId(RecieverGSTIN);
                    var ConsigneeUserId = FindUserId(dataRow.Field <string>("Column7"));
                    invoice.ConsigneeUserID            = ConsigneeUserId == null ? invoice.ReceiverUserID : ConsigneeUserId;
                    invoice.Freight                    = Convert.ToInt32(dataRow.ItemArray[10].ToString().Split('.')[0]);
                    invoice.Insurance                  = Convert.ToInt32(dataRow.ItemArray[11].ToString().Split('.')[0]);
                    invoice.PackingAndForwadingCharges = Convert.ToInt32(dataRow.ItemArray[12].ToString().Split('.')[0]);
                    invoice.InvoiceType                = sheetCode;
                    invoice.FinYear_ID                 = invoiceObject.GetCurrentFinYear();
                    string getIsinter   = GstnExit == null ? "" : GstnExit.GSTNNo;
                    string strStatecode = getIsinter.Substring(0, 2);
                    string Statecod     = GstnExit == null ? "" : GstnExit.StateCode;
                    if (strStatecode == Statecod)
                    {
                        invoice.IsInter = false;
                    }
                    else
                    {
                        invoice.IsInter = true;
                    }
                    invoice.InvoiceStatus = Convert.ToByte(EnumConstants.InvoiceStatus.Fresh);
                    invoice.Status        = true;
                    EnumConstants.InvoiceSpecialCondition value = (EnumConstants.InvoiceSpecialCondition)Enum.Parse(typeof(EnumConstants.InvoiceSpecialCondition), dataRow.ItemArray[6].ToString());
                    invoice.InvoiceSpecialCondition = (byte)value;
                }
                //B2CS
                else if (sheetCode == 2)
                {
                    var RecieverGSTIN = dataRow.ItemArray[12].ToString().Contains('.') ? dataRow.ItemArray[12].ToString().Split('.')[0] : dataRow.ItemArray[12].ToString();
                    var GstnExit      = unitOfWork.AspnetRepository.Filter(w => w.GSTNNo == RecieverGSTIN).FirstOrDefault();
                    invoice.InvoiceNo      = dataRow.ItemArray[0].ToString().Contains('.') ? dataRow.ItemArray[0].ToString().Split('.')[0] : dataRow.ItemArray[0].ToString();
                    invoice.SellerUserID   = FindUserId(SupplierGSTIN);
                    invoice.ReceiverUserID = FindUserId(RecieverGSTIN);
                    var ConsigneeUserId = FindUserId(dataRow.Field <string>("Column5"));
                    invoice.ConsigneeUserID            = ConsigneeUserId == null ? invoice.ReceiverUserID : ConsigneeUserId;
                    invoice.Freight                    = Convert.ToInt32(dataRow.ItemArray[8].ToString().Split('.')[0]);
                    invoice.Insurance                  = Convert.ToInt32(dataRow.ItemArray[9].ToString().Split('.')[0]);
                    invoice.PackingAndForwadingCharges = Convert.ToInt32(dataRow.ItemArray[10].ToString().Split('.')[0]);
                    invoice.InvoiceType                = 1;
                    invoice.FinYear_ID                 = invoiceObject.GetCurrentFinYear();
                    string getIsinter   = GstnExit == null ? "" : GstnExit.GSTNNo;
                    string strStatecode = getIsinter.Substring(0, 2);
                    string Statecod     = GstnExit == null ? "" : GstnExit.StateCode;
                    if (strStatecode == Statecod)
                    {
                        invoice.IsInter = false;
                    }
                    else
                    {
                        invoice.IsInter = true;
                    }
                    invoice.InvoiceStatus = Convert.ToByte(EnumConstants.InvoiceStatus.Fresh);
                    invoice.Status        = true;
                    EnumConstants.InvoiceSpecialCondition value = (EnumConstants.InvoiceSpecialCondition)Enum.Parse(typeof(EnumConstants.InvoiceSpecialCondition), dataRow.ItemArray[6].ToString());
                    invoice.InvoiceSpecialCondition = (byte)value;
                }
                //CDNR
                else if (sheetCode == 3)
                {
                    var RecieverGSTIN = dataRow.Field <string>("Column0");
                    var GstnExit      = unitOfWork.AspnetRepository.Filter(w => w.GSTNNo == RecieverGSTIN).FirstOrDefault();
                    invoice.InvoiceNo                  = dataRow.ItemArray[1].ToString().Contains('.') ? dataRow.ItemArray[1].ToString().Split('.')[0] : dataRow.ItemArray[1].ToString();
                    invoice.InvoiceDate                = dataRow.Field <DateTime>("Column4");
                    invoice.InvoiceMonth               = (byte)invoice.InvoiceDate.Value.Month;
                    invoice.SellerUserID               = FindUserId(SupplierGSTIN);
                    invoice.ReceiverUserID             = FindUserId(dataRow.Field <string>("Column0"));
                    invoice.OrderDate                  = dataRow.Field <DateTime>("Column2").Date;
                    invoice.Freight                    = Convert.ToInt32(dataRow.ItemArray[14].ToString().Split('.')[0]);
                    invoice.Insurance                  = Convert.ToInt32(dataRow.ItemArray[15].ToString().Split('.')[0]);
                    invoice.PackingAndForwadingCharges = Convert.ToInt32(dataRow.ItemArray[16].ToString().Split('.')[0]);
                    invoice.FinYear_ID                 = invoiceObject.GetCurrentFinYear();
                    string getIsinter   = GstnExit == null ? "" : GstnExit.GSTNNo;
                    string strStatecode = getIsinter.Substring(0, 2);
                    string Statecod     = GstnExit == null ? "" : GstnExit.StateCode;
                    if (strStatecode == Statecod)
                    {
                        invoice.IsInter = false;
                    }
                    else
                    {
                        invoice.IsInter = true;
                    }
                    invoice.InvoiceStatus = Convert.ToByte(EnumConstants.InvoiceStatus.Fresh);
                    invoice.Status        = true;
                }
                //CDNUR
                else if (sheetCode == 4)
                {
                    var RecieverGSTIN = dataRow.ItemArray[19].ToString();
                    var GstnExit      = unitOfWork.AspnetRepository.Filter(w => w.GSTNNo == RecieverGSTIN).FirstOrDefault();
                    invoice.InvoiceNo                  = dataRow.ItemArray[4].ToString().Contains('.') ? dataRow.ItemArray[4].ToString().Split('.')[0] : dataRow.ItemArray[4].ToString();
                    invoice.InvoiceDate                = dataRow.Field <DateTime>("Column5");
                    invoice.InvoiceMonth               = (byte)invoice.InvoiceDate.Value.Month;
                    invoice.SellerUserID               = FindUserId(SupplierGSTIN);
                    invoice.ReceiverUserID             = FindUserId(dataRow.ItemArray[19].ToString());
                    invoice.OrderDate                  = dataRow.Field <DateTime>("Column2").Date;
                    invoice.Freight                    = Convert.ToInt32(dataRow.ItemArray[14].ToString().Split('.')[0]);
                    invoice.Insurance                  = Convert.ToInt32(dataRow.ItemArray[15].ToString().Split('.')[0]);
                    invoice.PackingAndForwadingCharges = Convert.ToInt32(dataRow.ItemArray[16].ToString().Split('.')[0]);
                    invoice.FinYear_ID                 = invoiceObject.GetCurrentFinYear();
                    string getIsinter   = GstnExit == null ? "" : GstnExit.GSTNNo;
                    string strStatecode = getIsinter.Substring(0, 2);
                    string Statecod     = GstnExit == null ? "" : GstnExit.StateCode;
                    if (strStatecode == Statecod)
                    {
                        invoice.IsInter = false;
                    }
                    else
                    {
                        invoice.IsInter = true;
                    }
                    invoice.InvoiceStatus = Convert.ToByte(EnumConstants.InvoiceStatus.Fresh);
                    invoice.Status        = true;
                    EnumConstants.InvoiceSpecialCondition value = (EnumConstants.InvoiceSpecialCondition)Enum.Parse(typeof(EnumConstants.InvoiceSpecialCondition), dataRow.ItemArray[1].ToString());
                    invoice.InvoiceSpecialCondition = (byte)value;
                }
                //EXP
                else if (sheetCode == 5)
                {
                    var RecieverGSTIN = dataRow.ItemArray[8].ToString().Contains('.') ? dataRow.ItemArray[8].ToString().Split('.')[0] : dataRow.ItemArray[8].ToString();
                    var GstnExit      = unitOfWork.AspnetRepository.Filter(w => w.GSTNNo == RecieverGSTIN).FirstOrDefault();
                    invoice.InvoiceNo      = dataRow.ItemArray[1].ToString().Contains('.') ? dataRow.ItemArray[1].ToString().Split('.')[0] : dataRow.ItemArray[1].ToString();
                    invoice.InvoiceDate    = dataRow.Field <DateTime>("Column2");
                    invoice.InvoiceMonth   = (byte)invoice.InvoiceDate.Value.Month;
                    invoice.SellerUserID   = FindUserId(SupplierGSTIN);
                    invoice.ReceiverUserID = FindUserId(RecieverGSTIN);
                    invoice.OrderDate      = dataRow.Field <DateTime>("Column2").Date;
                    //invoice.VendorID =
                    //invoice.Freight = Convert.ToInt32(dataRow.ItemArray[14].ToString().Split('.')[0]);
                    //invoice.Insurance = Convert.ToInt32(dataRow.ItemArray[15].ToString().Split('.')[0]);
                    //invoice.PackingAndForwadingCharges = Convert.ToInt32(dataRow.ItemArray[16].ToString().Split('.')[0]);
                    ////invoice.   =
                    //invoice.ElectronicReferenceNoDate =
                    invoice.InvoiceType = 0;
                    invoice.FinYear_ID  = invoiceObject.GetCurrentFinYear();
                    string getIsinter   = GstnExit == null ? "" : GstnExit.GSTNNo;
                    string strStatecode = getIsinter.Substring(0, 2);
                    string Statecod     = GstnExit == null ? "" : GstnExit.StateCode;
                    if (strStatecode == Statecod)
                    {
                        invoice.IsInter = false;
                    }
                    else
                    {
                        invoice.IsInter = true;
                    }
                    invoice.InvoiceStatus = Convert.ToByte(EnumConstants.InvoiceStatus.Fresh);
                    // invoice.TaxBenefitingState =
                    invoice.Status = true;
                    EnumConstants.InvoiceSpecialCondition value = (EnumConstants.InvoiceSpecialCondition)Enum.Parse(typeof(EnumConstants.InvoiceSpecialCondition), dataRow.ItemArray[1].ToString());
                    invoice.InvoiceSpecialCondition = (byte)value;
                }
                invoice.CreatedBy   = UserId;
                invoice.CreatedDate = DateTime.Now;
                unitOfWork.InvoiceRepository.Create(invoice);
                unitOfWork.Save();
            }


            catch (DbEntityValidationException ex)
            {
                foreach (var eve in ex.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
            }
            return(invoice);
        }