Пример #1
0
        public ActionResult AddNew()
        {
            string UserID   = User.Identity.GetUserId();
            var    UserInfo = _unitOfWork.User.GetMyInfo(UserID);

            var HeadrObj = new Header();

            HeadrObj.VoucherDate = DateTime.Now;
            var TransactionDebitObj  = new Transaction();
            var TransactionCreditObj = new Transaction();
            var Company = _unitOfWork.Company.GetMyCompany(UserInfo.fCompanyId);
            var CompanyTransactionKindObj = _unitOfWork.NativeSql.GetPaymentVoucherCashFromTransactionKind(UserInfo.fCompanyId);
            var TransFixedVM = new TransactionFixedVM
            {
                Header                               = HeadrObj,
                TransactionDebit                     = TransactionDebitObj,
                TransactionCredit                    = TransactionCreditObj,
                CompanyTransactionKind               = CompanyTransactionKindObj,
                CompanyTransactionKindID             = 1,
                Currency                             = _unitOfWork.Currency.GetAllCurrency(UserInfo.fCompanyId),
                CurrencyID                           = 1,
                WorkWithCostCenter                   = Company.WorkWithCostCenter,
                TheDecimalPointForTheForeignCurrency = Company.TheDecimalPointForTheForeignCurrency,
                TheDecimalPointForTheLocalCurrency   = Company.TheDecimalPointForTheLocalCurrency,
                CurrentYear                          = UserInfo.CurrYear
            };

            return(View(TransFixedVM));
        }
Пример #2
0
        public ActionResult CopyPaymentVoucherCash(string id, int id2, int id3, int id4)
        {
            string UserID    = User.Identity.GetUserId();
            var    UserInfo  = _unitOfWork.User.GetMyInfo(UserID);
            var    HeaderObj = _unitOfWork.Header.GetHeaderDataById(id, UserInfo.fCompanyId, id2, id3, id4);
            var    CompanyTransactionKindObj = _unitOfWork.NativeSql.GetPaymentVoucherCashFromTransactionKind(UserInfo.fCompanyId);
            var    CompanyTransactionKindID  = HeaderObj.CompanyTransactionKindNo;
            var    Company = _unitOfWork.Company.GetMyCompany(UserInfo.fCompanyId);
            var    TransactionCreditObj = _unitOfWork.NativeSql.GetTransactionsDetailCredit(id, UserInfo.fCompanyId, id2, 1, id4);
            var    TransactionDebitObj  = _unitOfWork.NativeSql.GetTransactionsDetailDebit(id, UserInfo.fCompanyId, id2, 2, id4);
            int    iRowNumber           = HeaderObj.RowCount;
            var    TransFixedVM         = new TransactionFixedVM {
            };

            TransFixedVM.Header                               = HeaderObj;
            TransFixedVM.TransactionDebit                     = TransactionDebitObj;
            TransFixedVM.TransactionCredit                    = TransactionCreditObj;
            TransFixedVM.CompanyTransactionKind               = CompanyTransactionKindObj;
            TransFixedVM.CompanyTransactionKindID             = CompanyTransactionKindID;
            TransFixedVM.Currency                             = _unitOfWork.Currency.GetAllCurrency(UserInfo.fCompanyId);
            TransFixedVM.CurrencyID                           = HeaderObj.FCurrencyID;
            TransFixedVM.CurrencyNewValue                     = Math.Round(HeaderObj.ConversionFactor, 3);
            TransFixedVM.WorkWithCostCenter                   = Company.WorkWithCostCenter;
            TransFixedVM.AccountDebitName                     = _unitOfWork.NativeSql.GetAccountName(UserInfo.fCompanyId, TransactionDebitObj.AccountNumber);
            TransFixedVM.AccountCreditName                    = _unitOfWork.NativeSql.GetAccountName(UserInfo.fCompanyId, TransactionCreditObj.AccountNumber);
            TransFixedVM.CostCenterDebitName                  = _unitOfWork.NativeSql.GetCostCenterName(UserInfo.fCompanyId, TransactionDebitObj.CostCenter);
            TransFixedVM.CostCenterCreditName                 = _unitOfWork.NativeSql.GetCostCenterName(UserInfo.fCompanyId, TransactionCreditObj.CostCenter);
            TransFixedVM.Amount                               = Math.Round(TransactionDebitObj.Debit, 3);
            TransFixedVM.TotalAmount                          = Math.Round(HeaderObj.TotalDebit, 3);
            TransFixedVM.ForeignAmount                        = Math.Round(TransactionDebitObj.DebitForeign, 3);
            TransFixedVM.TotalForeign                         = Math.Round(HeaderObj.TotalDebitForeign, 3);
            TransFixedVM.TheDecimalPointForTheForeignCurrency = Company.TheDecimalPointForTheForeignCurrency;
            TransFixedVM.TheDecimalPointForTheLocalCurrency   = Company.TheDecimalPointForTheLocalCurrency;
            return(View(TransFixedVM));
        }
Пример #3
0
        public ActionResult DeleteReceiptVoucherCash(string id, int id2, int id3, int id4)
        {
            string UserID   = User.Identity.GetUserId();
            var    UserInfo = _unitOfWork.User.GetMyInfo(UserID);

            var HeaderObj             = _unitOfWork.Header.GetHeaderDataById(id, UserInfo.fCompanyId, id2, id3, id4);
            var CompanyTransactionObj = _unitOfWork.CompanyTransactionKind.GetCompanyTransactionKindByID(UserInfo.fCompanyId, HeaderObj.CompanyTransactionKindNo);
            var CurrencyObj           = _unitOfWork.Currency.GetCurrencyByID(UserInfo.fCompanyId, HeaderObj.FCurrencyID);
            var SalesManObj           = _unitOfWork.Sale.GetSaleByID(UserInfo.fCompanyId, HeaderObj.SaleID);
            var Company              = _unitOfWork.Company.GetMyCompany(UserInfo.fCompanyId);
            var TransactionDebitObj  = _unitOfWork.NativeSql.GetTransactionsDetailDebit(id, UserInfo.fCompanyId, id2, 1, id4);
            var TransactionCreditObj = _unitOfWork.NativeSql.GetTransactionsDetailCredit(id, UserInfo.fCompanyId, id2, 2, id4);
            int iRowNumber           = HeaderObj.RowCount;
            var TransFixedVM         = new TransactionFixedVM {
            };

            TransFixedVM.Header                   = HeaderObj;
            TransFixedVM.TransactionDebit         = TransactionDebitObj;
            TransFixedVM.TransactionCredit        = TransactionCreditObj;
            TransFixedVM.CompanyTransactionKindID = HeaderObj.CompanyTransactionKindNo;
            TransFixedVM.CurrencyID               = HeaderObj.FCurrencyID;
            if (HeaderObj.SaleID == 0)
            {
                TransFixedVM.SaleManName = "";
            }
            else
            {
                TransFixedVM.SaleManName = SalesManObj.SalesName;
            }
            if (Resources.Resource.CurLang == "Arb")
            {
                TransFixedVM.CompanyTransactionKindName = CompanyTransactionObj.ArabicName;
                TransFixedVM.CurrencyName = CurrencyObj.ArabicName;
            }
            else
            {
                TransFixedVM.CompanyTransactionKindName = CompanyTransactionObj.EnglishName;
                TransFixedVM.CurrencyName = CurrencyObj.EnglishName;
            }
            TransFixedVM.CurrencyNewValue     = Math.Round(HeaderObj.ConversionFactor, 3);
            TransFixedVM.WorkWithCostCenter   = Company.WorkWithCostCenter;
            TransFixedVM.AccountDebitName     = _unitOfWork.NativeSql.GetAccountName(UserInfo.fCompanyId, TransactionDebitObj.AccountNumber);
            TransFixedVM.AccountCreditName    = _unitOfWork.NativeSql.GetAccountName(UserInfo.fCompanyId, TransactionCreditObj.AccountNumber);
            TransFixedVM.CostCenterDebitName  = _unitOfWork.NativeSql.GetCostCenterName(UserInfo.fCompanyId, TransactionDebitObj.CostCenter);
            TransFixedVM.CostCenterCreditName = _unitOfWork.NativeSql.GetCostCenterName(UserInfo.fCompanyId, TransactionCreditObj.CostCenter);
            TransFixedVM.Amount        = Math.Round(TransactionCreditObj.Credit, 3);
            TransFixedVM.TotalAmount   = Math.Round(HeaderObj.TotalDebit, 3);
            TransFixedVM.ForeignAmount = Math.Round(TransactionCreditObj.CreditForeign, 3);
            TransFixedVM.TotalForeign  = Math.Round(HeaderObj.TotalDebitForeign, 3);
            TransFixedVM.TheDecimalPointForTheForeignCurrency = Company.TheDecimalPointForTheForeignCurrency;
            TransFixedVM.TheDecimalPointForTheLocalCurrency   = Company.TheDecimalPointForTheLocalCurrency;
            return(View(TransFixedVM));
        }
Пример #4
0
        public JsonResult UpdatePaymentVoucherCash(TransactionFixedVM ObjToUpdate)
        {
            MsgUnit Msg = new MsgUnit();

            try
            {
                var userId   = User.Identity.GetUserId();
                var UserInfo = _unitOfWork.User.GetMyInfo(userId);

                var UpdateHeader = ObjToUpdate.Header;
                UpdateHeader.InsDateTime              = DateTime.Now;
                UpdateHeader.VoucherNumber            = ObjToUpdate.Header.VoucherNumber;
                UpdateHeader.VoucherDate              = ObjToUpdate.Header.VoucherDate;
                UpdateHeader.CompanyTransactionKindNo = ObjToUpdate.CompanyTransactionKindID;
                UpdateHeader.TransactionKindNo        = _unitOfWork.CompanyTransactionKind.GetTransKindForCompanyTransactionKind(UserInfo.fCompanyId, ObjToUpdate.CompanyTransactionKindID);
                UpdateHeader.InsUserID   = userId;
                UpdateHeader.CompanyID   = UserInfo.fCompanyId;
                UpdateHeader.TotalCredit = ObjToUpdate.Amount;
                UpdateHeader.TotalDebit  = ObjToUpdate.Amount;
                double TotalDebitForeign = 0;
                if (UpdateHeader.ConversionFactor == 0)
                {
                    UpdateHeader.ConversionFactor = 1;
                }
                ;
                if (UpdateHeader.ConversionFactor == 1)
                {
                    TotalDebitForeign = 0;
                }
                else
                {
                    TotalDebitForeign = UpdateHeader.TotalDebit / UpdateHeader.ConversionFactor;
                };
                UpdateHeader.TotalDebitForeign  = TotalDebitForeign;
                UpdateHeader.TotalCreditForeign = TotalDebitForeign;

                UpdateHeader.CompanyYear = ObjToUpdate.Header.CompanyYear;
                UpdateHeader.FCurrencyID = ObjToUpdate.CurrencyID;
                UpdateHeader.RowCount    = 2;
                var TransactionCredit = new Transaction();
                TransactionCredit.CompanyID   = UserInfo.fCompanyId;
                TransactionCredit.CompanyYear = UpdateHeader.CompanyYear;
                TransactionCredit.CompanyTransactionKindNo = UpdateHeader.CompanyTransactionKindNo;
                TransactionCredit.TransactionKindNo        = UpdateHeader.TransactionKindNo;
                TransactionCredit.VoucherDate   = UpdateHeader.VoucherDate;
                TransactionCredit.VoucherNumber = UpdateHeader.VoucherNumber;
                TransactionCredit.InsUserID     = UpdateHeader.InsUserID;
                TransactionCredit.VHI           = UpdateHeader.VHI;
                TransactionCredit.InsDateTime   = DateTime.Now;
                TransactionCredit.AccountNumber = ObjToUpdate.FromAccountNumber;
                TransactionCredit.CostCenter    = ObjToUpdate.FromCostCenter;
                TransactionCredit.Debit         = 0;
                TransactionCredit.Credit        = ObjToUpdate.Amount;
                TransactionCredit.DebitForeign  = 0;
                if (UpdateHeader.ConversionFactor == 1)
                {
                    TransactionCredit.CreditForeign = 0;
                }
                else
                {
                    TransactionCredit.CreditForeign = TransactionCredit.Credit / UpdateHeader.ConversionFactor;
                };
                TransactionCredit.CreditDebitForeign = TransactionCredit.CreditForeign;
                TransactionCredit.Note      = UpdateHeader.Note;
                TransactionCredit.RowNumber = 1;
                var TransactionDebit = new Transaction();
                TransactionDebit.CompanyID   = UserInfo.fCompanyId;
                TransactionDebit.CompanyYear = UpdateHeader.CompanyYear;
                TransactionDebit.CompanyTransactionKindNo = UpdateHeader.CompanyTransactionKindNo;
                TransactionDebit.TransactionKindNo        = UpdateHeader.TransactionKindNo;
                TransactionDebit.VoucherDate   = UpdateHeader.VoucherDate;
                TransactionDebit.VoucherNumber = UpdateHeader.VoucherNumber;
                TransactionDebit.InsUserID     = UpdateHeader.InsUserID;
                TransactionDebit.VHI           = UpdateHeader.VHI;
                TransactionDebit.InsDateTime   = DateTime.Now;
                TransactionDebit.AccountNumber = ObjToUpdate.ToAccountNumber;
                TransactionDebit.CostCenter    = ObjToUpdate.ToCostCenter;
                TransactionDebit.Debit         = ObjToUpdate.Amount;
                TransactionDebit.Credit        = 0;
                if (UpdateHeader.ConversionFactor == 1)
                {
                    TransactionDebit.DebitForeign = 0;
                }
                else
                {
                    TransactionDebit.DebitForeign = TransactionDebit.Debit / UpdateHeader.ConversionFactor;
                };
                TransactionDebit.CreditForeign      = 0;
                TransactionDebit.CreditDebitForeign = TransactionDebit.DebitForeign;
                TransactionDebit.Note      = UpdateHeader.Note;
                TransactionDebit.RowNumber = 2;

                if (!ModelState.IsValid)
                {
                    string Err    = " ";
                    var    errors = ModelState.Values.SelectMany(v => v.Errors);
                    foreach (ModelError error in errors)
                    {
                        Err = Err + error.ErrorMessage + " * ";
                    }

                    Msg.Msg  = Resources.Resource.SomthingWentWrong + " : " + Err;
                    Msg.Code = 0;
                    return(Json(Msg, JsonRequestBehavior.AllowGet));
                }
                _unitOfWork.Header.Update(UpdateHeader);
                _unitOfWork.Transaction.Update(TransactionCredit);
                _unitOfWork.Transaction.Update(TransactionDebit);
                _unitOfWork.Complete();
                Msg.Code = 1;
                Msg.Msg  = Resources.Resource.UpdatedSuccessfully;


                Msg.Year                     = UpdateHeader.CompanyYear;
                Msg.FCompanyId               = UpdateHeader.CompanyID;
                Msg.VoucherNumber            = UpdateHeader.VoucherNumber.ToString();
                Msg.TransactionKindNo        = UpdateHeader.TransactionKindNo.ToString();
                Msg.CompanyTransactionKindNo = UpdateHeader.CompanyTransactionKindNo.ToString();
                return(Json(Msg, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                Msg.Msg  = Resources.Resource.SomthingWentWrong + " : " + ex.Message.ToString();
                Msg.Code = 0;
                return(Json(Msg, JsonRequestBehavior.AllowGet));
            }
        }
Пример #5
0
        public JsonResult SavePaymentVoucherCash(TransactionFixedVM ObjToSave)
        {
            MsgUnit Msg = new MsgUnit();

            try
            {
                var userId     = User.Identity.GetUserId();
                var UserInfo   = _unitOfWork.User.GetMyInfo(userId);
                var Company    = _unitOfWork.Company.GetMyCompany(UserInfo.fCompanyId);
                var SaveHeader = ObjToSave.Header;
                SaveHeader.InsDateTime = DateTime.Now;
                SaveHeader.InsUserID   = userId;
                SaveHeader.CompanyTransactionKindNo = ObjToSave.CompanyTransactionKindID;
                SaveHeader.TransactionKindNo        = _unitOfWork.CompanyTransactionKind.GetTransKindForCompanyTransactionKind(UserInfo.fCompanyId, ObjToSave.CompanyTransactionKindID);
                SaveHeader.CompanyID   = UserInfo.fCompanyId;
                SaveHeader.TotalCredit = ObjToSave.Amount;
                SaveHeader.TotalDebit  = ObjToSave.Amount;
                double TotalDebitForeign = 0;
                if (SaveHeader.ConversionFactor == 0)
                {
                    SaveHeader.ConversionFactor = 1;
                }
                ;
                if (SaveHeader.ConversionFactor == 1)
                {
                    TotalDebitForeign = 0;
                }
                else
                {
                    TotalDebitForeign = SaveHeader.TotalDebit / SaveHeader.ConversionFactor;
                };
                SaveHeader.TotalDebitForeign  = TotalDebitForeign;
                SaveHeader.TotalCreditForeign = TotalDebitForeign;

                SaveHeader.CompanyYear = UserInfo.CurrYear;
                SaveHeader.FCurrencyID = ObjToSave.CurrencyID;
                var ObjComapnyTransactionKind = _unitOfWork.CompanyTransactionKind.GetCompanyTransactionKindByID(UserInfo.fCompanyId, SaveHeader.CompanyTransactionKindNo);
                if (ObjComapnyTransactionKind.AutoSerial)
                {
                    SaveHeader.VoucherNumber = _unitOfWork.Header.GetMaxVHByKind(UserInfo.fCompanyId, SaveHeader.CompanyTransactionKindNo, SaveHeader.TransactionKindNo, SaveHeader.CompanyYear).ToString();
                    SaveHeader.VHI           = int.Parse(SaveHeader.VoucherNumber);
                }
                else
                {
                    string   SerialNumber     = "";
                    int      Serial           = ObjComapnyTransactionKind.Serial;
                    string   Symbol           = ObjComapnyTransactionKind.Symbol;
                    DateTime dDate            = SaveHeader.VoucherDate;
                    string   YearNo           = dDate.ToString("yy");
                    string   sMonth           = dDate.ToString("MM");
                    int      MonthNo          = Int16.Parse(sMonth);
                    int      LengthLastSerial = _unitOfWork.CompanyTransactionKindMonthlySerial.GetMaxSerial(UserInfo.fCompanyId, SaveHeader.CompanyTransactionKindNo, MonthNo).ToString().Length;
                    Serial = Serial - LengthLastSerial;
                    for (int i = 0; i <= Serial; i++)
                    {
                        if (i < Serial)
                        {
                            SerialNumber = SerialNumber + "0";
                        }
                        else if (i == Serial)
                        {
                            SerialNumber = SerialNumber + _unitOfWork.CompanyTransactionKindMonthlySerial.GetMaxSerial(UserInfo.fCompanyId, SaveHeader.CompanyTransactionKindNo, MonthNo).ToString();
                        }
                    }
                    SaveHeader.VoucherNumber = Symbol + YearNo + sMonth + SerialNumber;
                    SaveHeader.VHI           = _unitOfWork.CompanyTransactionKindMonthlySerial.GetMaxSerial(UserInfo.fCompanyId, SaveHeader.CompanyTransactionKindNo, MonthNo);
                    _unitOfWork.CompanyTransactionKindMonthlySerial.Update(UserInfo.fCompanyId, SaveHeader.CompanyTransactionKindNo, MonthNo);
                }
                if (Company.DirectExportTheTransactions)
                {
                    SaveHeader.Exported = 1;
                }
                else
                {
                    SaveHeader.Exported = 0;
                }
                SaveHeader.RowCount = 2;
                var TransactionCredit = new Transaction();
                TransactionCredit.CompanyID   = UserInfo.fCompanyId;
                TransactionCredit.CompanyYear = SaveHeader.CompanyYear;
                TransactionCredit.CompanyTransactionKindNo = SaveHeader.CompanyTransactionKindNo;
                TransactionCredit.TransactionKindNo        = SaveHeader.TransactionKindNo;
                TransactionCredit.VoucherDate   = SaveHeader.VoucherDate;
                TransactionCredit.VoucherNumber = SaveHeader.VoucherNumber;
                TransactionCredit.InsUserID     = SaveHeader.InsUserID;
                TransactionCredit.VHI           = SaveHeader.VHI;
                TransactionCredit.InsDateTime   = DateTime.Now;
                TransactionCredit.AccountNumber = ObjToSave.FromAccountNumber;
                TransactionCredit.CostCenter    = ObjToSave.FromCostCenter;
                TransactionCredit.Debit         = 0;
                TransactionCredit.Credit        = ObjToSave.Amount;
                TransactionCredit.DebitForeign  = 0;
                if (SaveHeader.ConversionFactor == 1)
                {
                    TransactionCredit.CreditForeign = 0;
                }
                else
                {
                    TransactionCredit.CreditForeign = TransactionCredit.Credit / SaveHeader.ConversionFactor;
                };
                TransactionCredit.CreditDebitForeign = TransactionCredit.CreditForeign;
                TransactionCredit.Note      = SaveHeader.Note;
                TransactionCredit.RowNumber = 1;

                var TransactionDebit = new Transaction();
                TransactionDebit.CompanyID   = UserInfo.fCompanyId;
                TransactionDebit.CompanyYear = SaveHeader.CompanyYear;
                TransactionDebit.CompanyTransactionKindNo = SaveHeader.CompanyTransactionKindNo;
                TransactionDebit.TransactionKindNo        = SaveHeader.TransactionKindNo;
                TransactionDebit.VoucherDate   = SaveHeader.VoucherDate;
                TransactionDebit.VoucherNumber = SaveHeader.VoucherNumber;
                TransactionDebit.InsUserID     = SaveHeader.InsUserID;
                TransactionDebit.VHI           = SaveHeader.VHI;
                TransactionDebit.InsDateTime   = DateTime.Now;
                TransactionDebit.AccountNumber = ObjToSave.ToAccountNumber;
                TransactionDebit.CostCenter    = ObjToSave.ToCostCenter;
                TransactionDebit.Debit         = ObjToSave.Amount;
                TransactionDebit.Credit        = 0;
                if (SaveHeader.ConversionFactor == 1)
                {
                    TransactionDebit.DebitForeign = 0;
                }
                else
                {
                    TransactionDebit.DebitForeign = TransactionDebit.Debit / SaveHeader.ConversionFactor;
                };
                TransactionDebit.CreditForeign      = 0;
                TransactionDebit.CreditDebitForeign = TransactionDebit.DebitForeign;
                TransactionDebit.Note      = SaveHeader.Note;
                TransactionDebit.RowNumber = 2;

                if (!ModelState.IsValid)
                {
                    string Err    = " ";
                    var    errors = ModelState.Values.SelectMany(v => v.Errors);
                    foreach (ModelError error in errors)
                    {
                        Err = Err + error.ErrorMessage + " * ";
                    }

                    Msg.Msg  = Resources.Resource.SomthingWentWrong + " : " + Err;
                    Msg.Code = 0;
                    return(Json(Msg, JsonRequestBehavior.AllowGet));
                }
                _unitOfWork.Header.Add(SaveHeader);
                _unitOfWork.Transaction.Add(TransactionCredit);
                _unitOfWork.Transaction.Add(TransactionDebit);
                _unitOfWork.Complete();
                Msg.Code                     = 1;
                Msg.Msg                      = Resources.Resource.AddedSuccessfully;
                Msg.Year                     = SaveHeader.CompanyYear;
                Msg.FCompanyId               = SaveHeader.CompanyID;
                Msg.VoucherNumber            = SaveHeader.VoucherNumber.ToString();
                Msg.TransactionKindNo        = SaveHeader.TransactionKindNo.ToString();
                Msg.CompanyTransactionKindNo = SaveHeader.CompanyTransactionKindNo.ToString();

                return(Json(Msg, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                Msg.Msg  = Resources.Resource.SomthingWentWrong + " : " + ex.Message.ToString();
                Msg.Code = 0;
                return(Json(Msg, JsonRequestBehavior.AllowGet));
            }
        }