public ActionResult Edit(Guid id) { CreateAdjustmentInput viewModel = new CreateAdjustmentInput(); try { viewModel = _adjustmentsService.GetEdit(id); DateTime date; viewModel.TypeAdjustmentValue = (int)viewModel.TypeAdjustment; if (viewModel.AssetsReturnDate != null) { date = new DateTime(viewModel.AssetsReturnDate.Value.Year, viewModel.AssetsReturnDate.Value.Month, viewModel.AssetsReturnDate.Value.Day); viewModel.AssetsReturnDateString = date.ToString("yyyy-MM-dd"); } viewModel.DetailsAdjustment = _adjustmentsService.GetEditDetails(id, viewModel.CellarId); viewModel.IsEdit = true; viewModel.CompanyName = _currentUser.CompanyName; viewModel.Cellars = _adjustmentsService.GetAllCellars(_currentUser.CompanyName); viewModel.ErrorCode = 0; viewModel.ErrorDescription = ""; } catch (Exception e) { viewModel.ErrorCode = -1; viewModel.ErrorDescription = "Error al obtener datos."; } return(View("_edit", viewModel)); }
public ActionResult Create(IList <string> entity) { CreateAdjustmentInput viewModel = new CreateAdjustmentInput(); try { viewModel = JsonConvert.DeserializeObject <CreateAdjustmentInput>(entity[0]); //if (string.IsNullOrEmpty(viewModel.RequestDocumentNumber)) //{ return Json(new { ErrorCode = -1, ErrorDescription = "La solicitud debe tener un numero de solicitud fisica." }); } if (viewModel.DetailsAdjustment == null || !viewModel.DetailsAdjustment.Any()) { return(Json(new { ErrorCode = -1, ErrorDescription = "La solicitud debe tener algún detalle de artículos." })); } if (viewModel.CellarId == Guid.Empty) { return(Json(new { ErrorCode = -1, ErrorDescription = "La solicitud debe llevar un Ubicación." })); } if (ModelState.IsValid) { viewModel.CreatorGuidId = _currentUser.CurrentUserId; viewModel.CompanyName = _currentUser.CompanyName; //importante _adjustmentsService.Create(viewModel); ModelState.Clear(); return(Json(new { ErrorCode = 1, ErrorDescription = "Solicitud guardada exitosamente." })); } return(Json(new { ErrorCode = -1, ErrorDescription = "Error al guardar la solicitud, verifique los datos." })); } catch (Exception e) { return(Json(new { ErrorCode = -1, ErrorDescription = e.Message })); } }
public void Create(CreateAdjustmentInput input) { if (_adjustmentManager.AdjustmentExist(input.RequestDocumentNumber, input.Id, input.CompanyName)) { throw new UserFriendlyException("Existe una solicitud con el mismo numero de Solicitud Fisica."); } TypeAdjustment temp = (TypeAdjustment)input.TypeAdjustmentValue; var requestNumber = GetNextRequestNumber(input.CompanyName); var @entityAdjustment = Adjustment.Create(requestNumber, requestNumber.ToString(), input.Notes, input.CellarId, AdjustmentStatus.Active, temp, input.CreatorGuidId.Value, _dateTime.Now, input.PersonInCharge, input.CompanyName); IList <Detail> @details = new List <Detail>(); foreach (var item in input.DetailsAdjustment) { var @entityDetail = Detail.Create(null, null, @entityAdjustment.Id, item.AssetId, item.NameAsset, item.StockAsset, item.Price, input.CreatorGuidId.Value, _dateTime.Now, input.CompanyName); @details.Add(@entityDetail); } _adjustmentManager.Create(@entityAdjustment, @details); }
//// GET: Adjustments/Create public ActionResult Create() { CreateAdjustmentInput viewModel = new CreateAdjustmentInput(); viewModel.IsEdit = false; try { //viewModel.NoRequest = _solicitudMovimientoService.GetNextNoSolicitudMovimiento(); viewModel.RequestNumber = _adjustmentsService.GetNextRequestNumber(_currentUser.CompanyName); viewModel.CompanyName = _currentUser.CompanyName; viewModel.Status = AdjustmentStatus.Active; //viewModel.TypeAdjustmentValue = (int)TypeAdjustment.Asset; //viewModel.TypeAdjustment = TypeAdjustment.Asset; viewModel.DetailsAdjustment = new List <DetailAssetAdjustmentDto>(); viewModel.Cellars = _adjustmentsService.GetAllCellars(_currentUser.CompanyName); viewModel.CellarId = viewModel.Cellars.FirstOrDefault().Id; viewModel.ErrorCode = 0; viewModel.ErrorDescription = ""; } catch (Exception e) { viewModel.ErrorCode = -1; viewModel.ErrorDescription = "Error al obtener datos."; } return(View("_create", viewModel)); }
public void Update(CreateAdjustmentInput input) { var @entity = _adjustmentRepository.Get(input.Id); var @entityDetail = _adjustmentManager.GetEditDetails(input.Id).ToList(); if (@entity == null) { throw new UserFriendlyException("No se pudo encontrar la Bodega, fue borrada o no existe."); } if (_adjustmentManager.AdjustmentExist(@entity.RequestDocumentNumber, input.Id, input.CompanyName)) { throw new UserFriendlyException("Existe una Bodega con el mismo Nombre."); } IList <Detail> newDetails = new List <Detail>(); IList <Detail> updateDetails = new List <Detail>(); //@entity.RequestDocumentNumber = ; @entity.TypeAdjustment = (TypeAdjustment)input.TypeAdjustmentValue; @entity.LastModificationTime = _dateTime.Now; @entity.LastModifierUserId = input.CreatorUserId; @entity.PersonInCharge = input.PersonInCharge; foreach (var item in input.DetailsAdjustment) { if (@entityDetail.Exists(a => a.AssetId == item.AssetId)) { var @updateEntity = @entityDetail.FirstOrDefault(a => a.AssetId == item.AssetId); if (item.Delete == 1) { if (item.Saved == 1) { @updateEntity.IsDeleted = true; updateDetails.Add(@updateEntity); } } else if (item.Update == 1) { @updateEntity.Price = item.Price; @updateEntity.NameAsset = item.NameAsset; @updateEntity.StockAsset = item.StockAsset; @updateEntity.LastModificationTime = _dateTime.Now; @updateEntity.LastModifierUserId = input.CreatorUserId; updateDetails.Add(@updateEntity); } } else { var @createDetail = Detail.Create(null, null, input.Id, item.AssetId, item.NameAsset, item.StockAsset, item.Price, input.CreatorUserId, _dateTime.Now, input.CompanyName); newDetails.Add(@createDetail); } } _adjustmentManager.Update(@entity, newDetails, updateDetails); }