Ejemplo n.º 1
0
        //Create new Requisition with Detials
        public static RequisitionModel CreateRequisitionwithDetails(RequisitionModel reqm, List <RequisitionDetailsModel> reqd, out string error)
        {
            error = "";
            LUSSISEntities           entities = new LUSSISEntities();
            requisition              req      = new requisition();
            List <requisitiondetail> reqlist  = new List <requisitiondetail>();

            try
            {
                req.reqid      = reqm.Reqid;
                req.raisedby   = reqm.Raisedby;
                req.approvedby = reqm.Approvedby;
                req.deptid     = reqm.Depid;
                req.cpid       = reqm.Cpid;
                req.status     = ConRequisition.Status.PENDING;
                req.reqdate    = DateTime.Now;

                req = entities.requisitions.Add(req);
                entities.SaveChanges();

                foreach (RequisitionDetailsModel rdm in reqd)
                {
                    requisitiondetail rqd = new requisitiondetail
                    {
                        reqid  = req.reqid,
                        itemid = rdm.Itemid,
                        qty    = rdm.Qty
                    };
                    rqd = entities.requisitiondetails.Add(rqd);
                    entities.SaveChanges();
                    reqlist.Add(rqd);
                }

                reqm = GetRequisitionByRequisitionId(req.reqid, out error);



                NotificationModel nom = new NotificationModel();
                nom.Deptid   = DepartmentRepo.GetDepartmentByUserid(reqm.Raisedby ?? default(int), out error).Deptid;
                nom.Role     = ConUser.Role.HOD;
                nom.Title    = "Requisition Approval";
                nom.NotiType = ConNotification.NotiType.RequisitionApproval;
                nom.ResID    = reqm.Reqid;
                nom.Remark   = "A new requisition has been raised by " + reqm.Rasiedbyname + "!";
                nom          = NotificationRepo.CreatNotification(nom, out error);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(reqm);
        }
        public IHttpActionResult CreateRequisitionwithDetails(RequisitionModel reqm)
        {
            string           error = "";
            RequisitionModel req   = RequisitionRepo.CreateRequisitionwithDetails(reqm, reqm.Requisitiondetails, out error);

            if (error != "" || req == null)
            {
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(req));
        }
Ejemplo n.º 3
0
        public ActionResult RepairDescription_WithdrawEditPopup(int reqID)
        {
            Database         db       = new Database();
            RequisitionDAO   rqDAO    = new RequisitionDAO(db);
            RequisitionModel reqModel = rqDAO.FindById(reqID);

            db.Close();
            ViewBag.REQ = reqModel;

            return(View());
        }
Ejemplo n.º 4
0
        public ActionResult ApproveRequisition(ApproveRequisitionViewModel viewmodel)
        {
            string            token = GetToken();
            UserModel         um    = GetUser();
            RequisitionModel  reqm  = new RequisitionModel();
            NotificationModel nom   = new NotificationModel();


            try
            {
                reqm            = APIRequisition.GetRequisitionByReqid(viewmodel.ReqID, token, out string error);
                reqm.Status     = ConRequisition.Status.APPROVED;
                reqm.Approvedby = um.Userid;
                if (!viewmodel.Approve)
                {
                    reqm.Status  = ConRequisition.Status.REJECTED;
                    nom.Deptid   = reqm.Depid;
                    nom.Role     = ConUser.Role.EMPLOYEE;
                    nom.Title    = "Requisition Rejected";
                    nom.NotiType = ConNotification.NotiType.RejectedRequistion;
                    nom.ResID    = reqm.Reqid;
                    nom.Remark   = "The new requisition has been rejected by the HOD with remark : " + viewmodel.Remark;
                    nom          = APINotification.CreateNoti(token, nom, out error);

                    nom.Deptid   = reqm.Depid;
                    nom.Role     = ConUser.Role.DEPARTMENTREP;
                    nom.Title    = "Requisition Rejected";
                    nom.NotiType = ConNotification.NotiType.RejectedRequistion;
                    nom.ResID    = reqm.Reqid;
                    nom.Remark   = "The new requisition has been rejected by the HOD with remark : " + viewmodel.Remark;
                    nom          = APINotification.CreateNoti(token, nom, out error);
                }

                reqm = APIRequisition.UpdateRequisition(reqm, token, out error);


                Session["noti"]     = true;
                Session["notitype"] = "success";

                if (viewmodel.Approve)
                {
                    Session["notititle"]   = "Requisition Approval";
                    Session["notimessage"] = "Requisiton is now approved!";
                    return(RedirectToAction("TrackRequisition", new { id = reqm.Reqid }));
                }
                Session["notititle"]   = "Requisition Rejection";
                Session["notimessage"] = "Requisiton is rejected!";
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index", "Error", new { error = ex.Message }));
            }
        }
Ejemplo n.º 5
0
        public ActionResult Approbation_popup(int reqID)
        {
            Database         db       = new Database();
            RequisitionDAO   reqDAO   = new RequisitionDAO(db);
            RequisitionModel reqModel = reqDAO.FindById(reqID);

            db.Close();
            ViewBag.REQ = reqModel;

            return(View());
        }
Ejemplo n.º 6
0
        //create the requisition
        public static RequisitionModel CreateRequisition(RequisitionModel req, out string error)
        {
            error = "";
            bool           RaisedByTempHOD = true;
            LUSSISEntities entities        = new LUSSISEntities();
            requisition    reqn            = new requisition();

            try
            {
                reqn.raisedby   = req.Raisedby;
                reqn.approvedby = req.Approvedby;
                if (req.Approvedby == null || req.Approvedby == 0)
                {
                    reqn.approvedby = req.Raisedby;
                    RaisedByTempHOD = false;
                }
                reqn.deptid  = req.Depid;
                reqn.cpid    = req.Cpid;
                reqn.status  = ConRequisition.Status.PENDING;
                reqn.reqdate = DateTime.Now;
                reqn         = entities.requisitions.Add(reqn);
                entities.SaveChanges();
                req = GetRequisitionByRequisitionId(reqn.reqid, out error);

                if (!RaisedByTempHOD)
                {
                    NotificationModel nom = new NotificationModel();
                    nom.Deptid   = DepartmentRepo.GetDepartmentByUserid(reqn.raisedby ?? default(int), out error).Deptid;
                    nom.Role     = ConUser.Role.HOD;
                    nom.Title    = "Requisition Approval";
                    nom.NotiType = ConNotification.NotiType.RequisitionApproval;
                    nom.ResID    = reqn.reqid;
                    nom.Remark   = "A new requisition has been raised by " + req.Rasiedbyname + "!";
                    nom          = NotificationRepo.CreatNotification(nom, out error);
                }
                else
                {
                    req.Status = ConRequisition.Status.APPROVED;
                    req        = UpdateRequisition(req, out error);
                }
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(req);
        }
        private void save(RequisitionModel model)
        {
            Requisition entity = getEntityByModel(model);

            string result = string.Empty;

            if (entity.IsValid())
            {
                if (model.Id > 0)
                {
                    result = service.Update(entity);
                }
                else
                {
                    result = service.Insert(entity);
                }

                if (!string.IsNullOrEmpty(result))
                {
                    var savedLines = getRequisitionDetail(result);
                    if (savedLines.Count() > model.RequisitionDetail.Count())
                    {
                        var tobeDeleted = savedLines.Take(savedLines.Count() - model.RequisitionDetail.Count());
                        foreach (var item in tobeDeleted)
                        {
                            service.DeleteRequisitionDetail(item.Id);
                        }
                        savedLines = getRequisitionDetail(result);
                    }

                    foreach (var detail in model.RequisitionDetail)
                    {
                        RequisitionDetail detailEntity = getEntityByModel(detail);
                        if (detailEntity.IsValid())
                        {
                            detailEntity.RequisitionId = Convert.ToInt64(result);
                            if (savedLines.Count() > 0)
                            {
                                detailEntity.Id = savedLines.FirstOrDefault().Id;
                                savedLines.Remove(savedLines.FirstOrDefault(rec => rec.Id == detailEntity.Id));
                                service.Update(detailEntity);
                            }
                            else
                            {
                                service.Insert(detailEntity);
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 8
0
        public ActionResult WithdrawDeleting(int reqID, int repID)
        {
            RequisitionModel reqModel = new RequisitionModel();

            reqModel.REQ_ID = reqID;

            Database       db     = new Database();
            RequisitionDAO reqDAO = new RequisitionDAO(db);

            reqDAO.Delete(reqModel);
            db.Close();

            return(Redirect("/Services/RepairDescription?repid=" + repID));
        }
        public async Task <IActionResult> Create([FromBody] RequisitionModel model)
        {
            if (model == null)
            {
                return(ReturnError(ErrorCodes.IncomingPayloadIsMissing));
            }
            try
            {
                var brokerId  = User.TryGetBrokerId().Value;
                var apiUserId = User.UserId();
                var order     = await _apiOrderService.GetOrderAsync(model.OrderNumber, brokerId);

                var user = await _apiUserService.GetBrokerUser(model.CallingUser, brokerId);

                var request = await _dbContext.Requests.GetActiveRequestForApiWithBrokerAndOrderNumber(model.OrderNumber, brokerId);

                if (request == null)
                {
                    return(ReturnError(ErrorCodes.RequestNotFound));
                }
                if (!request.IsApprovedOrDelivered)
                {
                    return(ReturnError(ErrorCodes.RequestNotInCorrectState));
                }
                try
                {
                    await _requisitionService.Create(request, user?.Id ?? apiUserId, (user != null ? (int?)apiUserId : null), model.Message,
                                                     model.Outlay, model.AcctualStartedAt, model.AcctualEndedAt, model.WasteTime, model.WasteTimeInconvenientHour, EnumHelper.GetEnumByCustomName <TaxCardType>(model.TaxCard).Value,
                                                     new List <RequisitionAttachment>(), Guid.NewGuid(), model.MealBreaks.Select(m => new MealBreak
                    {
                        StartAt = m.StartedAt,
                        EndAt = m.EndedAt,
                    }).ToList(),
                                                     model.CarCompensation,
                                                     model.PerDiem);

                    await _dbContext.SaveChangesAsync();
                }
                catch (InvalidOperationException)
                {
                    //TODO: Should log the acctual exception here!!
                    return(ReturnError(ErrorCodes.RequisitionNotInCorrectState));
                }
                return(Ok(new ResponseBase()));
            }
            catch (InvalidApiCallException ex)
            {
                return(ReturnError(ex.ErrorCode));
            }
        }
        /// <summary>
        /// Method to get all purchase requisitions to place order
        /// </summary>
        /// <param name="companyCode"></param>
        /// <returns></returns>
        public RequisitionModel GetAllPurchaseRequisitions(string companyCode)
        {
            RequisitionModel lstReq = null;

            try
            {
                lstReq = ObjPR.GetAllPurchaseRequisitions(companyCode);
            }
            catch (Exception ex)
            {
                throw;
            }
            return(lstReq);
        }
Ejemplo n.º 11
0
        public ActionResult WithdrawUpdate(int reqID, int repID, int reqUnit)
        {
            RequisitionModel reqModel = new RequisitionModel();

            reqModel.REQ_ID   = reqID;
            reqModel.REQ_UNIT = reqUnit;

            Database       db     = new Database();
            RequisitionDAO reqDAO = new RequisitionDAO(db);

            reqDAO.Update(reqModel);
            db.Close();

            return(Redirect("~/Services/RepairDescription?repid=" + repID));
        }
        public IHttpActionResult UpdateRequisition(RequisitionModel reqm)
        {
            string           error = "";
            RequisitionModel rm    = RequisitionRepo.UpdateRequisition(reqm, out error);

            if (error != "" || rm == null)
            {
                if (error == ConError.Status.NOTFOUND)
                {
                    return(Content(HttpStatusCode.NotFound, "Inventory Not Found"));
                }
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(rm));
        }
        public IHttpActionResult GetRequisitionByReqid(int reqid)
        {
            string           error = "";
            RequisitionModel reqm  = RequisitionRepo.GetRequisitionByRequisitionId(reqid, out error);

            if (error != "" || reqm == null)
            {
                if (error == ConError.Status.NOTFOUND)
                {
                    return(Content(HttpStatusCode.NotFound, "Requisition Not Found"));
                }
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(reqm));
        }
        public ActionResult DeletePartial(RequisitionDetailModel model)
        {
            try
            {
                RequisitionModel       requisition       = SessionHelper.Requisition;
                RequisitionDetailModel requisitionDetail = requisition.RequisitionDetail.FirstOrDefault(rec => rec.Id == model.Id);
                SessionHelper.Requisition.RequisitionDetail.Remove(requisitionDetail);
            }
            catch (Exception ex)
            {
                ViewData["EditError"] = ex.Message;
            }

            return(PartialView("_Detail", getRequisitionDetail()));
        }
        public ActionResult Edit(string id)
        {
            RequisitionModel requisition = new RequisitionModel(service.GetSingle(id, AuthenticationHelper.CompanyId.Value));

            requisition.RequisitionDetail = service.GetAllRequisitionDetail(requisition.Id).Select(x => new RequisitionDetailModel(x)).ToList();
            SessionHelper.Requisition     = requisition;

            requisition.Buyers = buyerService.GetAll(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId, requisition.RequisitionDate, requisition.RequisitionDate).
                                 Select(x => new SelectListItem {
                Value = x.Id.ToString(),
                Text  = x.Name
            }).ToList();

            return(View("Edit", requisition));
        }
Ejemplo n.º 16
0
        public ActionResult RequisitionDetail(int id)
        {
            string           token = GetToken();
            UserModel        um    = GetUser();
            RequisitionModel reqm  = new RequisitionModel();

            try
            {
                reqm = APIRequisition.GetRequisitionByReqid(id, token, out string error);
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index", "Error", new { error = ex.Message }));
            }
            return(View(reqm));
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Method to get all purchase requisitions for place order
        /// </summary>
        /// <returns></returns>

        public JsonResult GetAllPurchaseRequisitions()
        {
            RequisitionModel lstReq      = null;
            string           companyCode = null;

            try
            {
                companyCode = ObjCurrInfo.GetCompanyCode();
                lstReq      = ObjPR.GetAllPurchaseRequisitions(companyCode);
                return(Json(lstReq, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 18
0
 public HttpResponseMessage AccountsForward([FromBody] RequisitionModel RequisitionModel)
 {
     try
     {
         invoiceRepository.AccountsForward(RequisitionModel);
         var formatter = RequestFormat.JsonFormaterString();
         return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
             output = "success", msg = "Approved successfully"
         }, formatter));
     }
     catch (Exception ex)
     {
         var formatter = RequestFormat.JsonFormaterString();
         return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
             output = "error", msg = ex.ToString()
         }, formatter));
     }
 }
        public IHttpActionResult UpdateRequisitionCompleted(RequisitionModel po)
        {
            string error = "";

            po = RequisitionRepo.GetRequisitionByRequisitionId(po.Reqid, out error);

            // if the staff has already updated the status to "preparing"
            if (po.Status == ConRequisition.Status.COMPLETED)
            {
                return(Ok(po));
            }
            po.Status = ConRequisition.Status.COMPLETED;

            OutstandingReqModel outreqm;

            outreqm = OutstandingReqRepo.GetOutstandingReqByReqId(po.Reqid, out error);
            if (outreqm.ReqId != 0)
            {
                po.Status = ConRequisition.Status.OUTSTANDINGREQUISITION;
            }

            // updating the status
            RequisitionModel pom = RequisitionRepo.UpdateRequisition(po, out error);


            // update the locker disburement to collected

            DisbursementLockerModel dislm = LockerCollectionPointRepo.GetDisbursementLockerByReqID(po.Reqid, out error);

            dislm = LockerCollectionPointRepo.UpdateDisbursementLockerToCollected(dislm, out error);

            if (error != "" || pom == null)
            {
                if (error == ConError.Status.NOTFOUND)
                {
                    return(Content(HttpStatusCode.NotFound, "PO Not Found"));
                }
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(pom));
        }
Ejemplo n.º 20
0
 public HttpResponseMessage Put([FromBody] RequisitionModel RequisitionModel)
 {
     try
     {
         //if (string.IsNullOrEmpty(RequisitionModel.RequisitionMasterData.company_id.ToString()))
         ////if (string.IsNullOrEmpty(RequisitionModel.RequisitionMasterData.company_id.ToString()) && RequisitionModel.RequisitionMasterData.requisition_type != "B2B Requisition")
         //{
         //    var partyFormatter = RequestFormat.JsonFormaterString();
         //    return Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "warning", msg = "Please Select Company" }, partyFormatter);
         //}
         if (string.IsNullOrEmpty(RequisitionModel.RequisitionMasterData.warehouse_from.ToString()))
         {
             var formatter = RequestFormat.JsonFormaterString();
             return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                 output = "error", msg = "Please Select Warehouse !!"
             }, formatter));
         }
         if (RequisitionModel.RequisitionMasterData.edit_count == 3)
         {
             var formatter = RequestFormat.JsonFormaterString();
             return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                 output = "error", msg = "You have already edit three times !!"
             }, formatter));
         }
         else
         {
             requisitionRepository.EditRequisition(RequisitionModel);
             var formatter = RequestFormat.JsonFormaterString();
             return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
                 output = "success", msg = "Requisition Updated successfully"
             }, formatter));
         }
     }
     catch (Exception ex)
     {
         var formatter = RequestFormat.JsonFormaterString();
         return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation {
             output = "error", msg = ex.ToString()
         }, formatter));
     }
 }
Ejemplo n.º 21
0
        public ActionResult WithdrawPartsInserting(int wdUnit, int repID, int stockID, int userID)
        {
            RequisitionModel rqModel = new RequisitionModel();

            rqModel.REPAIR_NO           = new RepairModel();
            rqModel.REPAIR_NO.REPAIR_NO = repID;
            rqModel.STOCK_NO            = new StockModel();
            rqModel.STOCK_NO.STOCK_ID   = stockID;
            rqModel.REQ_UNIT            = wdUnit;
            rqModel.APROVE        = "wait";
            rqModel.STAFF         = new UsersModel();
            rqModel.STAFF.USER_NO = userID;

            Database       db    = new Database();
            RequisitionDAO rqDAO = new RequisitionDAO(db);

            rqDAO.Add(rqModel);
            db.Close();

            return(Redirect("~/Services/RepairDescription?repID=" + repID));
        }
Ejemplo n.º 22
0
        // Convert From Auto Generated DB Model to APIModel for Requsition with Requisition Details data
        private static RequisitionModel CovertDBRequisitiontoAPIRequisitionwithDetails(requisition req)
        {
            List <RequisitionDetailsModel> reqdm = new List <RequisitionDetailsModel>();

            foreach (requisitiondetail rqdm in req.requisitiondetails)
            {
                try
                {
                    reqdm.Add(new RequisitionDetailsModel(rqdm.reqid, rqdm.itemid, rqdm.item.description, rqdm.qty, rqdm.item.category.name, rqdm.item.uom, rqdm.item.inventories.First().stock));
                }
                catch (Exception)
                {
                    reqdm.Add(new RequisitionDetailsModel(rqdm.reqid, rqdm.itemid, rqdm.item.description, rqdm.qty, rqdm.item.category.name, rqdm.item.uom, 0));
                }
            }
            RequisitionModel reqm = new RequisitionModel(req.reqid, req.raisedby, req.user.fullname
                                                         , req.approvedby, req.user1.fullname, req.cpid, req.collectionpoint.cpname
                                                         , req.deptid, req.department.deptname, req.status, req.reqdate, reqdm);

            return(reqm);
        }
Ejemplo n.º 23
0
        public ActionResult ApproveRequisition(int id)
        {
            string           token = GetToken();
            UserModel        um    = GetUser();
            RequisitionModel reqm  = new RequisitionModel();

            ViewBag.RequisitionModel = reqm;
            ApproveRequisitionViewModel viewmodel = new ApproveRequisitionViewModel();

            try
            {
                reqm = APIRequisition.GetRequisitionByReqid(id, token, out string error);

                if (reqm.Status == ConRequisition.Status.APPROVED)
                {
                    Session["noti"]        = true;
                    Session["notitype"]    = "error";
                    Session["notititle"]   = "Already Approved Requisiton!";
                    Session["notimessage"] = "This requisition has already been approved!";
                    return(RedirectToAction("Index", "Home"));
                }
                else if (reqm.Status == ConRequisition.Status.REJECTED)
                {
                    Session["noti"]        = true;
                    Session["notitype"]    = "error";
                    Session["notititle"]   = "Already Approved Requisiton!";
                    Session["notimessage"] = "This requisition has already been approved!";
                    return(RedirectToAction("Index", "Home"));
                }

                ViewBag.RequisitionModel = reqm;
                viewmodel.ReqID          = reqm.Reqid;
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index", "Error", new { error = ex.Message }));
            }
            return(View(viewmodel));
        }
Ejemplo n.º 24
0
        public async Task <IActionResult> Create(RequisitionModel model)
        {
            if (ModelState.IsValid)
            {
                var request = await _dbContext.Requests.GetRequestForRequisitionCreateById(model.RequestId);

                List <MealBreak> mealbreaks = new List <MealBreak>();
                if (model.MealBreaks != null)
                {
                    foreach (MealBreak mb in model.MealBreaks)
                    {
                        mealbreaks.Add(new MealBreak {
                            StartAt = mb.StartAtTemp.ToDateTimeOffsetSweden(), EndAt = mb.EndAtTemp.ToDateTimeOffsetSweden()
                        });
                    }
                }
                if ((await _authorizationService.AuthorizeAsync(User, request, Policies.CreateRequisition)).Succeeded)
                {
                    Requisition requisition;

                    try
                    {
                        requisition = await _requisitionService.Create(request, User.GetUserId(), User.TryGetImpersonatorId(), model.Message, model.Outlay,
                                                                       model.SessionStartedAt, model.SessionEndedAt, model.TimeWasteTotalTime.HasValue?(model.TimeWasteTotalTime ?? 0) - (model.TimeWasteIWHTime ?? 0) : model.TimeWasteTotalTime,
                                                                       model.TimeWasteIWHTime, model.InterpreterTaxCard.Value, model.Files?.Select(f => new RequisitionAttachment {
                            AttachmentId = f.Id
                        }).ToList(), model.FileGroupKey.Value, mealbreaks, model.CarCompensation, model.PerDiem);
                    }
                    catch (InvalidOperationException ex)
                    {
                        _logger.LogError("Failed to create requisition for request {request.RequestId}, message {errorMessage}.", request.RequestId, ex.Message);
                        return(RedirectToAction("Index", "Home", new { errorMessage = $"Det gick inte att registrera rekvisition för {request.Order.OrderNumber}, det kan bero på att det redan finns en rekvisition registrerad." }));
                    }
                    return(RedirectToAction("View", "Request", new { id = requisition.RequestId, tab = "requisition" }));
                }
                return(Forbid());
            }
            return(View(nameof(Create), model));
        }
Ejemplo n.º 25
0
        private IEnumerable <RequisitionModel> GetProductFromXmalFile(string filePath)
        {
            List <RequisitionModel> products = new List <RequisitionModel>();
            var xmlData = XDocument.Load(filePath).Element("Products")?.Elements();

            foreach (XElement element in xmlData)
            {
                RequisitionModel aProduct = new RequisitionModel();
                var elementFirstAttribute = element.FirstAttribute.Value;
                aProduct.Serial = elementFirstAttribute;
                var elementValue = element.Elements();
                var xElements    = elementValue as XElement[] ?? elementValue.ToArray();
                aProduct.ProductId   = Convert.ToInt32(xElements[0].Value);
                aProduct.ProductName = xElements[1].Value;
                aProduct.Quantity    = Convert.ToInt32(xElements[2].Value);
                aProduct.ToBranchId  = Convert.ToInt32(xElements[3].Value);
                aProduct.ToBranch    = _iBranchManager.GetById(aProduct.ToBranchId);
                products.Add(aProduct);
            }

            return(products);
        }
        private string generateReqNum(RequisitionModel model)
        {
            var    currentDocument = service.GetAll(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId).OrderByDescending(rec => rec.Id).FirstOrDefault();
            string newDocNo        = "";

            if (currentDocument != null)
            {
                int  outVal;
                bool isNumeric = int.TryParse(currentDocument.RequisitionNo, out outVal);
                if (isNumeric && currentDocument.RequisitionNo.Length == 8)
                {
                    newDocNo = (int.Parse(currentDocument.RequisitionNo) + 1).ToString();
                    return(newDocNo);
                }
            }

            //Create New DocNum..
            string yearDigit  = model.RequisitionDate.ToString("yy");
            string monthDigit = model.RequisitionDate.ToString("MM");
            string docNo      = int.Parse("1").ToString().PadLeft(4, '0');

            return(yearDigit + monthDigit + docNo);
        }
Ejemplo n.º 27
0
        public async Task <IActionResult> ConfirmRequisition(RequisitionModel requisition, string button)
        {
            if (!ModelState.IsValid || button == null)
            {
                return(BadRequest());
            }

            if (button == "Yes")
            {
                await this.requisitionService.UpdateRequisitionStatus(requisition.RequisitionId, 1);

                return(RedirectToAction("Index", "Home"));
            }
            else if (button == "No")
            {
                await this.requisitionService.DeleteRequisition(requisition.RequisitionId);

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Ejemplo n.º 28
0
        // to get the Requisition by the RequisitionId
        public static RequisitionModel GetRequisitionByRequisitionId(int reqid, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";

            requisition      requisition = new requisition();
            RequisitionModel reqm        = new RequisitionModel();

            try
            {
                requisition = entities.requisitions.Where(p => p.reqid == reqid).FirstOrDefault <requisition>();
                reqm        = CovertDBRequisitiontoAPIRequisitionwithDetails(requisition);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(reqm);
        }
Ejemplo n.º 29
0
 public ActionResult Add(RequisitionModel model)
 {
     model.Add();
     return(RedirectToAction("Index"));
 }
Ejemplo n.º 30
0
        //Update Stock records
        public static void UpdateRequisitionWithRItems(InventoryDbContext inventoryDbContext, RequisitionModel requisition)
        {
            try
            {
                var checkStatus = true;
                foreach (var rItems in requisition.RequisitionItems)
                {
                    inventoryDbContext.RequisitionItems.Attach(rItems);
                    inventoryDbContext.Entry(rItems).Property(x => x.ReceivedQuantity).IsModified = true;
                    inventoryDbContext.Entry(rItems).Property(x => x.PendingQuantity).IsModified  = true;
                    if (rItems.ReceivedQuantity >= rItems.PendingQuantity)
                    {
                        inventoryDbContext.Entry(rItems).Property(x => x.RequisitionItemStatus).IsModified = true;
                    }
                    else
                    {
                        checkStatus = false;
                    }
                }
                if (checkStatus)
                {
                    inventoryDbContext.Requisitions.Attach(requisition);
                    inventoryDbContext.Entry(requisition).Property(x => x.RequisitionStatus).IsModified = true;
                }

                inventoryDbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }