public JsonResult SetPositionFOC(PositionFOCViewModel model) { PositionFOCSetReq request = new PositionFOCSetReq(); PositionFOCSetRes response = new PositionFOCSetRes(); if (model.StandardFoc) { var ProdRangeList = model.PositionFOCData.Select(a => new { a.ProductRangeId }).Distinct().ToList(); foreach (var item in ProdRangeList) { var data = model.PositionFOCData.Where(a => a.Period.ToUpper() == "ALL" && a.ProductRangeId == item.ProductRangeId).FirstOrDefault(); model.PositionFOCData.Where(a => a.Period.ToUpper() != "ALL" && a.ProductRangeId == item.ProductRangeId).ToList() .ForEach(y => y.FOCQty = data.FOCQty); } //var res = model.PositionFOCData.Where(x => x.Period.ToUpper() == "ALL").FirstOrDefault(); //model.PositionFOCData.Where(x => x.Period.ToUpper() != "ALL").ToList().ForEach(y => y.FOCQty = res.FOCQty); } List <mPositionFOC> lstPositionFOC = new List <mPositionFOC>(); foreach (var objModel in model.PositionFOCData.Where(x => x.Period.ToUpper() != "ALL")) { var obj = new mPositionFOC { PositionFOCId = objModel.PositionFOCId, PositionId = objModel.PositionId, FOCQty = objModel.FOCQty, CreateUser = ckUserEmailId, EditUser = ckUserEmailId }; if (objModel.Period == null || Convert.ToDateTime(objModel.Period) == DateTime.MinValue) { obj.Period = null; } else { obj.Period = Convert.ToDateTime(objModel.Period); } lstPositionFOC.Add(obj); } request.StandardFOC = model.StandardFoc; request.PositionFOC = lstPositionFOC; request.IsClone = model.IsClone; response = positionProviders.SetPostionFOC(request, token).Result; if (response != null) { if (response.ResponseStatus.Status.ToLower() == "success") { return(Json("success")); } } return(Json("failure")); }
public ActionResult GetPositionFOCPartView(PositionFOCGetReq request) { PositionFOCGetRes response = new PositionFOCGetRes(); response = positionProviders.GetPostionFOC(request, token).Result; PositionFOCViewModel model = new PositionFOCViewModel { StandardFoc = (response.StandardFOC == null || response.StandardFOC == true) ? true : false }; var ProdRangeList = response.PositionFOC.Select(a => new { a.ProductRange, a.ProductRangeId }).Distinct().ToList(); foreach (var ProdRange in ProdRangeList) { var IsExist = model.PositionFOCData.Where(a => a.ProductRangeId == ProdRange.ProductRangeId).FirstOrDefault(); if (IsExist == null) { var FOCList = response.PositionFOC.Where(a => a.ProductRangeId == ProdRange.ProductRangeId).Select(a => new { a.ProductRange, a.ProductRangeId, a.FOCQty }).Distinct().ToList(); if (FOCList?.Count == 1) { model.PositionFOCData.AddRange(FOCList.Select(a => new PositionFOCData { QRFID = request.QRFID, PositionId = request.PositionId, Period = "ALL", CityName = "ALL", ProductName = "ALL", PaxSlab = "ALL", Type = "ALL", ProductCategory = "ALL", FOCQty = a.FOCQty, ProductRange = a.ProductRange, ProductRangeId = a.ProductRangeId })); } else { model.PositionFOCData.Add(new PositionFOCData { QRFID = request.QRFID, PositionId = request.PositionId, Period = "ALL", CityName = "ALL", ProductName = "ALL", PaxSlab = "ALL", Type = "ALL", ProductCategory = "ALL", FOCQty = 0, ProductRange = FOCList[0].ProductRange, ProductRangeId = FOCList[0].ProductRangeId }); } } } model.PositionFOCData.AddRange(response.PositionFOC.Select(a => new PositionFOCData { PositionFOCId = a.PositionFOCId, QRFID = a.QRFID, PositionId = a.PositionId, DepartureId = a.DepartureId, Period = a.Period.ToString(), PaxSlabId = a.PaxSlabId, PaxSlab = a.PaxSlab, Type = a.Type, RoomId = a.RoomId, IsSupplement = a.IsSupplement, SupplierId = a.SupplierId, Supplier = a.Supplier, ProductCategoryId = a.ProductCategoryId, ProductCategory = a.ProductCategory, ProductRangeId = a.ProductRangeId, ProductRange = a.ProductRange, ContractId = a.ContractId, CityId = a.CityId, CityName = a.CityName, ProductId = a.ProductId, ProductName = a.ProductName, Quantity = a.Quantity, FOCQty = a.FOCQty })); return(PartialView("_PositionFOC", model)); }