示例#1
0
        //[HttpPost, ActionName("Index")]
        //public async Task<ActionResult> IndexPost(string StatusCode)
        //{
        //    string url = "";
        //    if (StatusCode == "")
        //    {
        //        return RedirectToAction("Index");
        //    }
        //    if (StatusCode.Equals("Received"))
        //    {
        //        url = "api/GoodsIn/ExpectedReceipt/GetReceived/" + true + "/" + int.Parse(CookieHelper.CustomerId);
        //    }
        //    if (StatusCode.Equals("Completed"))
        //    {
        //        url = "api/GoodsIn/ExpectedReceipt/GetCompleted/" + true + "/" + int.Parse(CookieHelper.CustomerId);
        //    }

        //    var list = new List<ExpectedReceiptViewModel.ExpectedReceipt>();
        //    var response = await HttpClientHelper.ApiCall(url, Method.GET);

        //    if (response.IsSuccessful)
        //    {
        //        var result = response.Content;

        //        var settings = new JsonSerializerSettings
        //        {
        //            NullValueHandling = NullValueHandling.Ignore,
        //            MissingMemberHandling = MissingMemberHandling.Ignore
        //        };
        //        var serialize = JsonConvert.DeserializeObject<List<dynamic>>(result, settings);

        //        list = serialize.Select(x => new ExpectedReceiptViewModel.ExpectedReceipt
        //        {
        //            Id = x.Id,
        //            ExpectedReceiptDate = x.ExpectedReceiptDate,
        //            GoodsReceivedNumber = x.GoodsReceivedNumber,
        //            ReferenceNumber = x.ReferenceNumber,
        //            Received = x.Received,
        //            Comments = x.Comments,
        //            Address = x.Address,
        //            WarehouseCode = x.Warehouse.Description,
        //            ReceivedBy = x.ReceivedBy,
        //            ReceivedDate = x.ReceivedDate,
        //            Supplier = x.Supplier,
        //            HaulierName = x.Haulier == null ? "" : x.Haulier.Name,
        //            HaulierCode = x.Haulier == null ? "" : x.Haulier.HaulierCode,
        //            StatusCode = x.Status == null ? "" : x.Status.Name,
        //            Planned = x.Planned

        //        }).ToList();

        //        var getUnplanned = list.Where(x => x.Planned == false).ToList();

        //        list = getUnplanned;

        //        var statusSelectList = new List<SelectListItem>
        //        {
        //            new SelectListItem { Value = "Received", Text = "Received"},
        //            new SelectListItem { Value = "Completed", Text = "Completed"}
        //        };

        //        ViewBag.StatusCode = statusSelectList;
        //    }
        //    return View(list);
        //}

        public async Task <ActionResult> Details(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var obj      = new ExpectedReceiptViewModel.ExpectedReceipt();
            var url      = "api/GoodsIn/ExpectedReceipt/GetById/" + id;
            var response = await HttpClientHelper.ApiCall(url, Method.GET);

            if (response.IsSuccessful)
            {
                var result = response.Content;
                var data   = JsonConvert.DeserializeObject <dynamic>(result);

                obj.Id = data.Id;
                obj.ExpectedReceiptDate = data.ExpectedReceiptDate;
                obj.GoodsReceivedNumber = data.GoodsReceivedNumber;
                obj.ReferenceNumber     = data.ReferenceNumber;
                obj.Received            = data.Received;
                obj.Comments            = data.Comments;
                obj.Address             = data.Warehouse != null ? data.Warehouse.Address1 : "";
                obj.WarehouseCode       = data.Warehouse.Description;
                obj.ReceivedBy          = data.ReceivedBy;
                obj.ReceivedDate        = data.ReceivedDate;
                obj.Supplier            = data.Supplier;
                obj.HaulierName         = data.Haulier == null ? "" : data.Haulier.Name;
                obj.HaulierCode         = data.Haulier == null ? "" : data.Haulier.HaulierCode;
                obj.StatusCode          = data.Status == null ? "" : data.Status.Name;
                obj.Planned             = data.Planned;
            }

            return(PartialView(obj));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id, CustomerId, GoodsReceivedNumber, AutoReferenceNumber, IsProcessing, ReferenceNumber, ExpectedReceiptDate, WarehouseId, WarehouseCode, Address," +
                                                              "VendorId, Supplier, HaulierId, HaulierName, HaulierCode, Comments, Received, ReceivedDate, StatusId, DateCreated, StatusCode, ReceivedBy, Planned," +
                                                              "UpdatedBy, IsActive, DateCreated, CreatedBy, IsProcessing")] ExpectedReceiptViewModel.ExpectedReceipt expectedReceipt)
        {
            //expectedReceipt.CustomerId = 1;
            //expectedReceipt.Planned = true;
            expectedReceipt.UpdatedBy = CookieHelper.EmailAddress;

            var url      = "api/GoodsIn/ExpectedReceipt/Update";
            var response = await HttpClientHelper.ApiCall(url, Method.PUT, expectedReceipt);

            if (response.StatusCode == HttpStatusCode.Forbidden)
            {
                TempData["Message"]      = expectedReceipt.ReferenceNumber + " is already exist! Please check your Reference Number and try again.";
                TempData["MessageAlert"] = "warning";
                return(RedirectToAction("Index", "ExpectedReceipt", new { StatusId = expectedReceipt.StatusId }));
            }

            if (response.IsSuccessful)
            {
                TempData["Message"]      = expectedReceipt.ReferenceNumber + " is successfully updated!";
                TempData["MessageAlert"] = "success";
                return(RedirectToAction("Index", "ExpectedReceipt", new { StatusId = expectedReceipt.StatusId }));
            }
            else
            {
                Error("An error has occurred");
                Log.Error(string.Format(Type.GetType(typeof(ExpectedReceiptController).Name) + "||Update||Expected Receipt ID::{0}||API Response::{1}", expectedReceipt.Id, response));
                return(RedirectToAction("Index", "ExpectedReceipt", new { StatusId = expectedReceipt.StatusId }));
            }
            return(PartialView(expectedReceipt));
        }
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var obj      = new ExpectedReceiptViewModel.ExpectedReceipt();
            var url      = "api/GoodsIn/ExpectedReceipt/GetById/" + id;
            var response = await HttpClientHelper.ApiCall(url, Method.GET);

            if (response.IsSuccessful)
            {
                var result = response.Content;
                var data   = JsonConvert.DeserializeObject <dynamic>(result);

                obj.Id                   = data.Id;
                obj.CustomerId           = data.CustomerId;
                obj.ExpectedReceiptDate  = data.ExpectedReceiptDate;
                obj.DateCreated          = data.DateCreated;
                obj.GoodsReceivedNumber  = data.GoodsReceivedNumber;
                obj.AutoReferenceNumber  = data.AutoReferenceNumber;
                obj.ReferenceNumber      = data.ReferenceNumber;
                obj.Received             = data.Received;
                obj.Comments             = data.Comments;
                obj.Address              = data.Address;
                obj.WarehouseDescription = data.Warehouse.Description;
                obj.WarehouseCode        = data.Warehouse.WarehouseCode;
                obj.ReceivedBy           = data.ReceivedBy;
                obj.ReceivedDate         = data.ReceivedDate;
                obj.VendorId             = data.VendorId;
                obj.Supplier             = data.Vendor != null ? data.Vendor.VendorName : data.Supplier;
                obj.StatusId             = data.StatusId;
                obj.HaulierId            = data.HaulierId;
                obj.HaulierName          = data.Haulier == null ? "" : data.Haulier.Name;
                obj.HaulierCode          = data.Haulier == null ? "" : data.Haulier.HaulierCode;
                obj.StatusCode           = data.Status == null ? "" : data.Status.Name;
                obj.Planned              = data.Planned;
                obj.IsActive             = data.IsActive;
                obj.DateCreated          = data.DateCreated;
                obj.CreatedBy            = data.CreatedBy;
                obj.IsProcessing         = data.IsProcessing;
            }

            ViewBag.EmailAddress = CookieHelper.EmailAddress;
            ViewBag.StatCode     = obj.StatusCode;
            return(PartialView(obj));
        }
        public async Task <ActionResult> Create()
        {
            var obj      = new ExpectedReceiptViewModel.ExpectedReceipt();
            var url      = $"api/GoodsIn/ExpectedReceipt/GenerateRN/{_customerId}";
            var response = await HttpClientHelper.ApiCall(url, Method.GET, url);

            if (response.IsSuccessful)
            {
                var result = response.Content;
                var data   = JsonConvert.DeserializeObject <dynamic>(result);

                obj.CustomerId      = int.Parse(CookieHelper.CustomerId);
                obj.ReferenceNumber = data;
            }
            ;

            return(PartialView(obj));
        }
示例#5
0
        public async Task <ActionResult> Edit([Bind(Include = "Id, CustomerId, GoodsReceivedNumber, ReferenceNumber, ExpectedReceiptDate, WarehouseId, VendorId, WarehouseCode, Address, Supplier, HaulierId," +
                                                              "HaulierName, HaulierCode, Comments, Received, ReceivedDate, DateCreated, StatusId, StatusCode, ReceivedBy, Planned, UpdatedBy, IsActive, DateCreated, CreatedBy, DateUpdated, UpdatedBy, Received")] ExpectedReceiptViewModel.ExpectedReceipt expectedReceipt)
        {
            expectedReceipt.CustomerId = 1;
            expectedReceipt.UpdatedBy  = CookieHelper.EmailAddress;

            var url      = "api/GoodsIn/ExpectedReceipt/Update";
            var response = await HttpClientHelper.ApiCall(url, Method.PUT, expectedReceipt);

            if (response.IsSuccessful)
            {
                TempData["Message"]      = expectedReceipt.GoodsReceivedNumber + " is successfully updated!";
                TempData["MessageAlert"] = "success";
                return(RedirectToAction("Index", "Receipt", expectedReceipt.StatusCode));
            }
            else
            {
                Error("An error has occurred");
                Log.Error(string.Format(Type.GetType(typeof(ReceiptController).Name) + "||Update||Receipt ID::{0}||API Response::{1}", expectedReceipt.Id, response));
                return(RedirectToAction("Index", "Receipt"));
            }
            return(PartialView(expectedReceipt));
        }
        public async Task <ActionResult> Create([Bind(Include = "CustomerId, GoodsReceivedNumber, AutoReferenceNumber, ReferenceNumber, ExpectedReceiptDate, WarehouseId, WarehouseCode," +
                                                                " Address, Supplier, VendorId, HaulierId, HaulierName, HaulierCode, Comments, Received, ReceivedDate, DateCreated, StatusCode, StatusId, ReceivedBy, Planned, IsActive, CreatedBy")]
                                                ExpectedReceiptViewModel.ExpectedReceipt expectedReceipt)
        {
            expectedReceipt.IsProcessing = false;
            expectedReceipt.Planned      = true;
            expectedReceipt.IsActive     = true;
            expectedReceipt.StatusId     = ForReceivingStatus;
            expectedReceipt.CreatedBy    = CookieHelper.EmailAddress;

            var url      = "api/GoodsIn/ExpectedReceipt/add";
            var response = await HttpClientHelper.ApiCall(url, Method.POST, expectedReceipt);

            if (response.StatusCode == HttpStatusCode.Forbidden)
            {
                TempData["Message"]      = expectedReceipt.ReferenceNumber + " is already exist! Please check your Reference Number and try again.";
                TempData["MessageAlert"] = "warning";
                return(RedirectToAction("Index", new { StatusId = expectedReceipt.StatusId }));
            }

            if (response.IsSuccessful)
            {
                var result = response.Content;
                var data   = JsonConvert.DeserializeObject <dynamic>(result);

                TempData["Message"]      = expectedReceipt.ReferenceNumber + " successfully created!";
                TempData["MessageAlert"] = "success";
                return(RedirectToAction("Index", "ExpectedReceipt", new { StatusId = expectedReceipt.StatusId }));
            }
            else
            {
                Error("An error has occurred");
                Log.Error(string.Format(Type.GetType(typeof(ExpectedReceiptController).Name) + "||Create||Expected Receipt ID::{0}||API Response::{1}", expectedReceipt.Id, response));
                return(RedirectToAction("Index", "ExpectedReceipt", new { StatusId = expectedReceipt.StatusId }));
            }
        }
示例#7
0
        public async Task <JsonResult> Complete(int id)
        {
            var url = "";

            if (id == null)
            {
                return(Json(new HttpStatusCodeResult(HttpStatusCode.BadRequest)));
            }

            var obj = new ExpectedReceiptViewModel.ExpectedReceipt();

            url = "api/GoodsIn/ExpectedReceipt/GetById/" + id;
            var response = await HttpClientHelper.ApiCall(url, Method.GET);

            obj.CustomerId = 1;

            if (response.IsSuccessful)
            {
                var result = response.Content;
                var data   = JsonConvert.DeserializeObject <dynamic>(result);

                obj.Id = data.Id;
                obj.ExpectedReceiptDate  = data.ExpectedReceiptDate;
                obj.GoodsReceivedNumber  = data.GoodsReceivedNumber;
                obj.ReferenceNumber      = data.ReferenceNumber;
                obj.Received             = data.Received;
                obj.Comments             = data.Comments;
                obj.Address              = data.Address;
                obj.WarehouseDescription = data.Warehouse.Description;
                obj.WarehouseCode        = data.Warehouse.WarehouseCode;
                obj.ReceivedBy           = data.ReceivedBy;
                obj.ReceivedDate         = data.ReceivedDate;
                obj.Supplier             = data.Supplier;
                obj.StatusId             = 7;
                obj.HaulierId            = data.HaulierId;
                obj.HaulierName          = data.Haulier == null ? "" : data.Haulier.Name;
                obj.HaulierCode          = data.Haulier == null ? "" : data.Haulier.HaulierCode;
                obj.Planned              = data.Planned;
                obj.IsActive             = data.IsActive;
                obj.DateCreated          = data.DateCreated;
                obj.CreatedBy            = data.CreatedBy;
                obj.UpdatedBy            = CookieHelper.EmailAddress;
            }

            var list         = new List <ExpectedReceiptViewModel.ExpectedReceiptLine>();
            var urlLine      = "api/GoodsIn/ExpectedReceipt/Lines/GetList/" + id;
            var responseLine = await HttpClientHelper.ApiCall(urlLine, Method.GET);

            if (responseLine.Content == "[]")
            {
                TempData["Message"]      = obj.GoodsReceivedNumber + " has no line item! Unable to mark it as COMPLETED!";
                TempData["MessageAlert"] = "warning";
                return(Json("Index", "Receipt"));
            }
            else
            {
                url = "api/GoodsIn/ExpectedReceipt/Update";
                var responseMess = await HttpClientHelper.ApiCall(url, Method.PUT, obj);

                if (responseMess.IsSuccessful)
                {
                    TempData["Message"]      = obj.GoodsReceivedNumber + " is already COMPLETED!";
                    TempData["MessageAlert"] = "success";
                    return(Json("Index", "Receipt"));
                }
                else
                {
                    Error("An error has occurred");
                    Log.Error(string.Format(Type.GetType(typeof(ReceiptController).Name) + "||Update||Expected Receipt ID::{0}||API Response::{1}", id, responseMess));
                    return(Json("Index", "Receipt"));
                }
            }
        }