public HttpResponseMessage Put(int id, [FromBody] PlanMasterViewModel planMasterViewModel) { try { var userId = this.User.FindFirstValue(ClaimTypes.Name); var tempplanMaster = AutoMapper.Mapper.Map <PlanMaster>(planMasterViewModel); tempplanMaster.CreateUserID = Convert.ToInt32(userId); tempplanMaster.RecStatus = true; _planMaster.UpdatePlanMaster(tempplanMaster); var response = new HttpResponseMessage() { StatusCode = HttpStatusCode.OK }; return(response); } catch (Exception) { var response = new HttpResponseMessage() { StatusCode = HttpStatusCode.InternalServerError }; return(response); } }
public HttpResponseMessage Post([FromBody] PlanMasterViewModel planMasterViewModel) { try { if (_planMaster.CheckPlanExits(planMasterViewModel.PlanName)) { var response = new HttpResponseMessage() { StatusCode = HttpStatusCode.Conflict }; return(response); } else { var userId = this.User.FindFirstValue(ClaimTypes.Name); var tempplanMaster = AutoMapper.Mapper.Map <PlanMaster>(planMasterViewModel); tempplanMaster.CreateUserID = Convert.ToInt32(userId); tempplanMaster.RecStatus = true; _planMaster.InsertPlan(tempplanMaster); var response = new HttpResponseMessage() { StatusCode = HttpStatusCode.OK }; return(response); } } catch (Exception) { var response = new HttpResponseMessage() { StatusCode = HttpStatusCode.InternalServerError }; return(response); } }
public IActionResult Post([FromBody] PlanMasterViewModel planMasterViewModel) { try { if (_planMaster.CheckPlanExits(planMasterViewModel.PlanName)) { return(Conflict()); } else { var userId = this.User.FindFirstValue(ClaimTypes.Name); var tempplanMaster = AutoMapper.Mapper.Map <PlanMaster>(planMasterViewModel); tempplanMaster.CreateUserID = Convert.ToInt32(userId); tempplanMaster.RecStatus = true; _planMaster.InsertPlan(tempplanMaster); return(Ok()); } } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <IActionResult> UpdateV2(int key, [FromBody] PlanMasterViewModel recordViewModel) { var Message = "Data not been found."; try { if (recordViewModel == null) { return(BadRequest(new { Error = "Data not been found." })); } var record = this.mapper.Map <PlanMasterViewModel, PlanMaster>(recordViewModel); // +7 Hour record = this.helper.AddHourMethod(record); // Set date for CrateDate Entity if (record.GetType().GetProperty("ModifyDate") != null) { record.GetType().GetProperty("ModifyDate").SetValue(record, DateTime.Now); } if (recordViewModel.PlanShipments != null && recordViewModel.PlanShipments.Any()) { foreach (var itemShip in record.PlanShipments) { if (itemShip.PlanShipmentId > 0) { itemShip.ModifyDate = DateTime.Now; itemShip.Modifyer = record.Creator; } else { itemShip.CreateDate = DateTime.Now; itemShip.Creator = record.Creator; } } } if (await this.repository.UpdateAsync(record, key) != null) { #region PlanShipment // filter var dbPlanShips = await this.repositoryPlanShipment.GetToListAsync(x => x, x => x.PlanMasterId == key); //Remove ActualBoms if edit remove it foreach (var dbPlanShip in dbPlanShips) { if (!recordViewModel.PlanShipments.Any(x => x.PlanShipmentId == dbPlanShip.PlanShipmentId)) { await this.repositoryPlanShipment.DeleteAsync(dbPlanShip.PlanShipmentId); } } //Update ActualBoms or New ActualBoms foreach (var uPlanShip in recordViewModel.PlanShipments) { if (uPlanShip.PlanShipmentId > 0) { await this.repositoryPlanShipment.UpdateAsync(uPlanShip, uPlanShip.PlanShipmentId); } else { uPlanShip.PlanMasterId = record.PlanMasterId; await this.repositoryPlanShipment.AddAsync(uPlanShip); } } #endregion return(new JsonResult(record, this.DefaultJsonSettings)); } } catch (Exception ex) { Message = $"Has error ${ex.ToString()}"; } return(BadRequest(new { Error = Message })); }
public async Task <IActionResult> CreateV2([FromBody] PlanMasterViewModel recordViewModel) { var Message = "Data not been found."; try { if (recordViewModel != null) { var record = this.mapper.Map <PlanMasterViewModel, PlanMaster>(recordViewModel); // +7 Hour record = this.helper.AddHourMethod(record); record.CreateDate = DateTime.Now; // Update revised var lastPlanMaster = await this.repository.GetFirstOrDefaultAsync( e => e, e => e.ProjectCodeMasterId == record.ProjectCodeMasterId && (e.HistoryPlanMaster != null && e.HistoryPlanMaster.ValidTo == null), e => e.OrderByDescending(x => x.CreateDate), e => e.Include(z => z.HistoryPlanMaster)); if (lastPlanMaster != null) { record.Revised = lastPlanMaster.Revised + 1; lastPlanMaster.HistoryPlanMaster.ValidTo = DateTime.Now; lastPlanMaster.ModifyDate = DateTime.Now; lastPlanMaster.Modifyer = record.Creator; } record.HistoryPlanMaster = new HistoryPlanMaster() { CreateDate = record.CreateDate, Creator = record.Creator, ValidFrom = DateTime.Now }; if (record.PlanDetails != null && record.PlanDetails.Any()) { record.PlanDetails = new List <PlanDetail>(); } if (recordViewModel.PlanDetails != null) { var helperDetail = new Helpers.HelpersClass <PlanDetailViewModel>(); // var AllStd = await this.repositoryStd.GetAllAsync(); foreach (var item in recordViewModel.PlanDetails.ToList()) { if (item == null) { continue; } var clone = helperDetail.AddHourMethod(item); var mapData = this.mapper.Map <PlanDetailViewModel, PlanDetail>(clone); mapData.CreateDate = record.CreateDate; mapData.Creator = record.Creator; if ((await this.repositoryEmp.GetFirstOrDefaultAsync(e => e, e => e.EmpCode == mapData.ResponsibilityBy)) == null) { mapData.ResponsibilityBy = ""; } if ((await this.repositoryGroupMis.GetFirstOrDefaultAsync(x => x, e => e.GroupMis == mapData.AssignmentToGroup)) == null) { mapData.AssignmentToGroup = ""; } if (clone.BomLevel2 != null) { // Bom Expression <Func <BillofMaterial, bool> > expression = b => TrimAndLower(b.Code).Contains(TrimAndLower(clone.BomLevel2)); var BomId = (await this.repositoryBom.GetFirstOrDefaultAsync(x => x, expression))?.BillofMaterialId ?? 0; if (BomId > 0) { mapData.BillofMaterialId = BomId; } } //Std Eng if (!string.IsNullOrEmpty(clone.ShopDrawingStd) || !string.IsNullOrEmpty(clone.CuttingPlanStd) || !string.IsNullOrEmpty(clone.PackingFrameStd)) { mapData.EngineerManHour = new EngineerManHour() { CreateDate = record.CreateDate, Creator = record.Creator, EngineerWeight = mapData.ContentWeigth, ShopDrawingId = string.IsNullOrEmpty(clone.ShopDrawingStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.ShopDrawingStd))))?.StandardTimeId ?? null, ShopDrawingCheckId = string.IsNullOrEmpty(clone.CheckShopDrawingStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.CheckShopDrawingStd))))?.StandardTimeId ?? null, CuttingPlanId = string.IsNullOrEmpty(clone.CuttingPlanStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.CuttingPlanStd))))?.StandardTimeId ?? null, CuttingPlanCheckId = string.IsNullOrEmpty(clone.CheckCuttingPlanStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.CheckCuttingPlanStd))))?.StandardTimeId ?? null, PackingId = string.IsNullOrEmpty(clone.PackingFrameStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.PackingFrameStd))))?.StandardTimeId ?? null, PackingCheckId = string.IsNullOrEmpty(clone.CheckPackingFrameStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.CheckPackingFrameStd))))?.StandardTimeId ?? null, }; } //Std Fab if (!string.IsNullOrEmpty(clone.FabStd) || !string.IsNullOrEmpty(clone.PreStd)) { mapData.FabricationManHour = new FabricationManHour() { CreateDate = record.CreateDate, Creator = record.Creator, FabricationWeight = mapData.ContentWeigth, FabricationId = string.IsNullOrEmpty(clone.FabStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.FabStd))))?.StandardTimeId ?? null, PerAssemblyId = string.IsNullOrEmpty(clone.PreStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.PreStd))))?.StandardTimeId ?? null, }; } //Std Pack if (!string.IsNullOrEmpty(clone.PackStd)) { mapData.PackingManHour = new PackingManHour() { CreateDate = record.CreateDate, Creator = record.Creator, PackingWeight = mapData.ContentWeigth, PackingId = string.IsNullOrEmpty(clone.PackStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.PackStd))))?.StandardTimeId ?? null, }; } //Std Weld if (!string.IsNullOrEmpty(clone.WeldStd)) { mapData.WeldManHour = new WeldManHour() { CreateDate = record.CreateDate, Creator = record.Creator, WeldWetght = mapData.ContentWeigth, WeldId = string.IsNullOrEmpty(clone.WeldStd) ? null : (await this.repositoryStd.GetFirstOrDefaultAsync(x => x, x => TrimAndLower(x.Code).Contains(TrimAndLower(clone.WeldStd))))?.StandardTimeId ?? null, }; } if (record.PlanDetails == null) { record.PlanDetails = new List <PlanDetail>(); } record.PlanDetails.Add(mapData); } } if (recordViewModel.PlanShipments != null && recordViewModel.PlanShipments.Any()) { foreach (var itemShipment in recordViewModel.PlanShipments) { record.PlanShipments.Add(new PlanShipment() { CreateDate = record.CreateDate, Creator = record.Creator, DateShipment = itemShipment.DateShipment, SequenceNo = itemShipment.SequenceNo, }); } } if (await this.repository.AddAsync(record) == null) { return(BadRequest()); } if (lastPlanMaster != null) { await this.repositoryHistory.UpdateAsync(lastPlanMaster.HistoryPlanMaster, lastPlanMaster.HistoryPlanMaster.HistoryPlanMasterId); } return(new JsonResult(record, this.DefaultJsonSettings)); } } catch (Exception ex) { Message = $"Has error {ex.ToString()}"; } return(BadRequest(new { Error = Message })); }