Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 4
0
        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 }));
        }
Ejemplo n.º 5
0
        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 }));
        }