public ActionResult Forward(ForwardDetails model, long id)
        {
            try
            {
                var user = (ViewUser)Session["user"];
                model.ForwardDateTime = DateTime.Now;
                model.UserId          = user.UserId;

                bool result = _iServiceManager.ForwardServiceBattery(model);
                if (result)
                {
                    return(RedirectToAction("All"));
                }

                var product = _iServiceManager.GetReceivedServiceProductById(id);
                product.ProductHistory  = _iInventoryManager.GetProductHistoryByBarcode(product.Barcode) ?? new ViewProductHistory();
                product.ForwardToModels = _iCommonManager.GetAllForwardToModels().ToList();
                return(View(product));
            }
            catch (Exception exception)
            {
                Log.WriteErrorLog(exception);
                return(PartialView("_ErrorPartial", exception));
            }
        }
        public ActionResult ChargeReport(ChargeReportModel model, long id)
        {
            try
            {
                var            user    = (ViewUser)Session["user"];
                var            product = _iServiceManager.GetReceivedServiceProductById(id);
                ForwardDetails forward = new ForwardDetails
                {
                    UserId          = user.UserId,
                    ForwardDateTime = DateTime.Now,
                    ForwardFromId   = product.ForwardedToId,
                    ForwardToId     = model.ForwardToId,
                    ReceiveId       = model.BatteryReceiveId,
                    ForwardRemarks  = model.ForwardRemarks
                };


                if (model.ForwardToId == product.ForwardedToId)
                {
                    model.ParentId = model.ForwardToId;
                }
                model.EntryByUserId  = user.UserId;
                model.ForwardDetails = forward;


                bool result = _iServiceManager.SaveCharegeReport(model);
                if (result)
                {
                    return(RedirectToAction("ProductInChargeSection"));
                }
                product.ProductHistory  = _iInventoryManager.GetProductHistoryByBarcode(product.Barcode) ?? new ViewProductHistory();
                product.ForwardToModels = _iCommonManager.GetAllForwardToModels().ToList();
                return(View(product));
            }
            catch (Exception exception)
            {
                Log.WriteErrorLog(exception);
                return(PartialView("_ErrorPartial", exception));
            }
        }
        public ActionResult Details(FormCollection collection, long id)
        {
            try
            {
                var            user    = (ViewUser)Session["user"];
                var            product = _iServiceManager.GetReceivedServiceProductById(id);
                ForwardDetails forward = new ForwardDetails
                {
                    UserId          = user.UserId,
                    ForwardDateTime = DateTime.Now,
                    ForwardFromId   = product.ForwardedToId,
                    ForwardToId     = Convert.ToInt32(collection["ForwardToId"]),
                    ReceiveId       = id,
                    ForwardRemarks  = collection["ForwardRemarks"]
                };


                bool result = _iServiceManager.SaveApprovalInformation(user.UserId, forward);
                if (result)
                {
                    return(RedirectToAction("PendingList"));
                }

                var actionModel =
                    _iCommonManager.GetActionListModelByAreaControllerActionName("Services", "ServiceManagement",
                                                                                 "Details");
                ChargeReportModel    chargeReport         = _iServiceManager.GetChargeReprortByReceiveId(id);
                DischargeReportModel dischargeReportModel = _iServiceManager.GetDisChargeReprortByReceiveId(id);
                product.ChargeReportModel    = chargeReport;
                product.DischargeReportModel = dischargeReportModel;
                product.ProductHistory       = _iInventoryManager.GetProductHistoryByBarcode(product.Barcode) ?? new ViewProductHistory();
                product.ForwardToModels      = _iCommonManager.GetAllForwardToModelsByUserAndActionId(user.UserId, actionModel.Id).ToList();
                return(View(product));
            }
            catch (Exception exception)
            {
                Log.WriteErrorLog(exception);
                return(PartialView("_ErrorPartial", exception));
            }
        }
        public bool SaveApprovalInformation(int userId, ForwardDetails forwardDetails)
        {
            int rowAffected = _iServiceGateway.SaveApprovalInformation(userId, forwardDetails);

            return(rowAffected > 0);
        }
        public bool ForwardServiceBattery(ForwardDetails model)
        {
            int rowAffected = _iServiceGateway.ForwardServiceBattery(model);

            return(rowAffected > 0);
        }