Exemple #1
0
        public HttpResponseMessage putDisbursement(String id, Entities.TrnDisbursement disbursement)
        {
            try
            {
                var disbursements = from d in db.TrnDisbursements where d.Id == Convert.ToInt32(id) select d;
                if (disbursements.Any())
                {
                    var updateDisbursement = disbursements.FirstOrDefault();
                    updateDisbursement.PeriodId           = disbursement.PeriodId;
                    updateDisbursement.DisbursementDate   = disbursement.DisbursementDate;
                    updateDisbursement.DisbursementNumber = disbursement.DisbursementNumber;
                    updateDisbursement.DisbursementType   = disbursement.DisbursementType;
                    updateDisbursement.Amount             = disbursement.Amount;
                    updateDisbursement.PayTypeId          = disbursement.PayTypeId;
                    updateDisbursement.TerminalId         = disbursement.TerminalId;
                    updateDisbursement.Remarks            = disbursement.Remarks;
                    updateDisbursement.IsReturn           = disbursement.IsReturn;
                    updateDisbursement.StockInId          = disbursement.StockInId;
                    updateDisbursement.PreparedBy         = disbursement.PreparedBy;
                    updateDisbursement.CheckedBy          = disbursement.CheckedBy;
                    updateDisbursement.CheckedBy          = disbursement.CheckedBy;
                    updateDisbursement.ApprovedBy         = disbursement.ApprovedBy;
                    updateDisbursement.IsLocked           = true;
                    updateDisbursement.EntryUserId        = UserId();
                    updateDisbursement.EntryDateTime      = DateTime.Today;
                    updateDisbursement.UpdateUserId       = UserId();
                    updateDisbursement.UpdateDateTime     = DateTime.Today;
                    updateDisbursement.Amount1000         = disbursement.Amount1000;
                    updateDisbursement.Amount500          = disbursement.Amount500;
                    updateDisbursement.Amount200          = disbursement.Amount200;
                    updateDisbursement.Amount100          = disbursement.Amount100;
                    updateDisbursement.Amount50           = disbursement.Amount50;
                    updateDisbursement.Amount20           = disbursement.Amount20;
                    updateDisbursement.Amount10           = disbursement.Amount10;
                    updateDisbursement.Amount5            = disbursement.Amount5;
                    updateDisbursement.Amount1            = disbursement.Amount1;
                    updateDisbursement.Amount025          = disbursement.Amount025;
                    updateDisbursement.Amount010          = disbursement.Amount010;
                    updateDisbursement.Amount005          = disbursement.Amount005;
                    updateDisbursement.Amount001          = disbursement.Amount001;
                    updateDisbursement.Payee = disbursement.Payee;
                    db.SubmitChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }
            }
            catch (Exception e)
            {
                // Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
Exemple #2
0
        public HttpResponseMessage LockDisbursement(Entities.TrnDisbursement objDisbursement, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("DisbursementDetail")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanLock)
                        {
                            var disbursement = from d in db.TrnDisbursements
                                               where d.Id == Convert.ToInt32(id)
                                               select d;

                            if (disbursement.Any())
                            {
                                int countInvalidRR = 0;
                                var invalidRRs     = from d in db.TrnDisbursementLines
                                                     where d.CVId == disbursement.FirstOrDefault().Id &&
                                                     d.TrnReceivingReceipt.IsLocked == false &&
                                                     d.TrnReceivingReceipt.IsCancelled == true
                                                     select d;

                                if (invalidRRs.Any())
                                {
                                    countInvalidRR = invalidRRs.Count();
                                }

                                if (!disbursement.FirstOrDefault().IsLocked&& countInvalidRR == 0)
                                {
                                    String oldObject = auditTrail.GetObjectString(disbursement.FirstOrDefault());

                                    Decimal amount            = 0;
                                    var     disbursementLines = from d in db.TrnDisbursementLines where d.CVId == Convert.ToInt32(id) select d;
                                    if (disbursementLines.Any())
                                    {
                                        amount = disbursementLines.Sum(d => d.Amount);
                                    }

                                    var lockDisbursement = disbursement.FirstOrDefault();
                                    lockDisbursement.CVDate          = Convert.ToDateTime(objDisbursement.CVDate);
                                    lockDisbursement.SupplierId      = objDisbursement.SupplierId;
                                    lockDisbursement.ManualCVNumber  = objDisbursement.ManualCVNumber;
                                    lockDisbursement.Payee           = objDisbursement.Payee;
                                    lockDisbursement.PayTypeId       = objDisbursement.PayTypeId;
                                    lockDisbursement.Particulars     = objDisbursement.Particulars;
                                    lockDisbursement.BankId          = objDisbursement.BankId;
                                    lockDisbursement.CheckNumber     = objDisbursement.CheckNumber;
                                    lockDisbursement.CheckDate       = Convert.ToDateTime(objDisbursement.CheckDate);
                                    lockDisbursement.Amount          = amount;
                                    lockDisbursement.IsCrossCheck    = objDisbursement.IsCrossCheck;
                                    lockDisbursement.CheckedById     = objDisbursement.CheckedById;
                                    lockDisbursement.ApprovedById    = objDisbursement.ApprovedById;
                                    lockDisbursement.Status          = objDisbursement.Status;
                                    lockDisbursement.IsClear         = objDisbursement.IsClear;
                                    lockDisbursement.IsLocked        = true;
                                    lockDisbursement.UpdatedById     = currentUserId;
                                    lockDisbursement.UpdatedDateTime = DateTime.Now;
                                    db.SubmitChanges();

                                    if (lockDisbursement.IsLocked)
                                    {
                                        if (disbursementLines.Any())
                                        {
                                            foreach (var disbursementLine in disbursementLines)
                                            {
                                                if (disbursementLine.RRId != null)
                                                {
                                                    accountsPayable.UpdateAccountsPayable(Convert.ToInt32(disbursementLine.RRId));
                                                }
                                            }
                                        }

                                        journal.InsertCashVoucherJournal(Convert.ToInt32(id));
                                    }

                                    String newObject = auditTrail.GetObjectString(disbursement.FirstOrDefault());
                                    auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject);

                                    return(Request.CreateResponse(HttpStatusCode.OK));
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Locking Error. These disbursement details are already locked or RR is invalid."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These disbursement details are not found in the server."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to lock disbursement."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this disbursement page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
Exemple #3
0
        public HttpResponseMessage SaveDisbursement(Entities.TrnDisbursement objDisbursement, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d;
                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var disbursement = from d in db.TrnDisbursements where d.Id == Convert.ToInt32(id) select d;
                    if (disbursement.Any())
                    {
                        if (!disbursement.FirstOrDefault().IsLocked)
                        {
                            String oldObject = auditTrail.GetObjectString(disbursement.FirstOrDefault());

                            Decimal amount            = 0;
                            var     disbursementLines = from d in db.TrnDisbursementLines where d.CVId == Convert.ToInt32(id) select d;
                            if (disbursementLines.Any())
                            {
                                amount = disbursementLines.Sum(d => d.Amount);
                            }

                            var saveDisbursement = disbursement.FirstOrDefault();
                            saveDisbursement.CVDate          = Convert.ToDateTime(objDisbursement.CVDate);
                            saveDisbursement.SupplierId      = objDisbursement.SupplierId;
                            saveDisbursement.ManualCVNumber  = objDisbursement.ManualCVNumber;
                            saveDisbursement.Payee           = objDisbursement.Payee;
                            saveDisbursement.PayTypeId       = objDisbursement.PayTypeId;
                            saveDisbursement.Particulars     = objDisbursement.Particulars;
                            saveDisbursement.BankId          = objDisbursement.BankId;
                            saveDisbursement.CheckNumber     = objDisbursement.CheckNumber;
                            saveDisbursement.CheckDate       = Convert.ToDateTime(objDisbursement.CheckDate);
                            saveDisbursement.Amount          = amount;
                            saveDisbursement.IsCrossCheck    = objDisbursement.IsCrossCheck;
                            saveDisbursement.CheckedById     = objDisbursement.CheckedById;
                            saveDisbursement.ApprovedById    = objDisbursement.ApprovedById;
                            saveDisbursement.Status          = objDisbursement.Status;
                            saveDisbursement.IsClear         = objDisbursement.IsClear;
                            saveDisbursement.UpdatedById     = currentUserId;
                            saveDisbursement.UpdatedDateTime = DateTime.Now;
                            db.SubmitChanges();

                            String newObject = auditTrail.GetObjectString(disbursement.FirstOrDefault());
                            auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject);

                            return(Request.CreateResponse(HttpStatusCode.OK));
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Saving Error. These disbursement details are already locked."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These disbursement details are not found in the server."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
        public HttpResponseMessage LockDisbursement(Entities.TrnDisbursement objDisbursement, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("DisbursementDetail")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanLock)
                        {
                            var disbursement = from d in db.TrnDisbursements
                                               where d.Id == Convert.ToInt32(id)
                                               select d;

                            if (disbursement.Any())
                            {
                                if (!disbursement.FirstOrDefault().IsLocked)
                                {
                                    var lockDisbursement = disbursement.FirstOrDefault();
                                    lockDisbursement.CVDate          = Convert.ToDateTime(objDisbursement.CVDate);
                                    lockDisbursement.SupplierId      = objDisbursement.SupplierId;
                                    lockDisbursement.ManualCVNumber  = objDisbursement.ManualCVNumber;
                                    lockDisbursement.Payee           = objDisbursement.Payee;
                                    lockDisbursement.PayTypeId       = objDisbursement.PayTypeId;
                                    lockDisbursement.Particulars     = objDisbursement.Particulars;
                                    lockDisbursement.BankId          = objDisbursement.BankId;
                                    lockDisbursement.CheckNumber     = objDisbursement.CheckNumber;
                                    lockDisbursement.CheckDate       = Convert.ToDateTime(objDisbursement.CheckDate);
                                    lockDisbursement.Amount          = GetDisbursementAmount(Convert.ToInt32(id));
                                    lockDisbursement.IsCrossCheck    = objDisbursement.IsCrossCheck;
                                    lockDisbursement.CheckedById     = objDisbursement.CheckedById;
                                    lockDisbursement.ApprovedById    = objDisbursement.ApprovedById;
                                    lockDisbursement.IsClear         = objDisbursement.IsClear;
                                    lockDisbursement.IsLocked        = true;
                                    lockDisbursement.UpdatedById     = currentUserId;
                                    lockDisbursement.UpdatedDateTime = DateTime.Now;

                                    db.SubmitChanges();

                                    // ============================
                                    // Journal and Accounts Payable
                                    // ============================
                                    Business.Journal journal = new Business.Journal();

                                    if (lockDisbursement.IsLocked)
                                    {
                                        journal.InsertCashVoucherJournal(Convert.ToInt32(id));
                                        UpdateAccountsPayable(Convert.ToInt32(id));
                                    }

                                    return(Request.CreateResponse(HttpStatusCode.OK));
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Locking Error. These disbursement details are already locked."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These disbursement details are not found in the server."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to lock disbursement."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this disbursement page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }