private BodegaViewModel GetBodegaViewModel()
        {
            BodegaViewModel   bodega   = new BodegaViewModel();
            List <BotellaDto> botellas = new List <BotellaDto>();

            using (var client = new HttpClient())
            {
                client.Timeout     = TimeSpan.FromMinutes(4);
                client.BaseAddress = new Uri(urlApi);
                var responseTask = client.GetAsync("Botella");
                responseTask.Wait();

                var result = responseTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    var readTask = result.Content.ReadAsStringAsync();
                    readTask.Wait();

                    botellas = JsonConvert.DeserializeObject <List <BotellaDto> >(readTask.Result);
                }
            }
            bodega.Bodega   = new BodegaDto();
            bodega.Botellas = botellas;
            return(bodega);
        }
        public ActionResult Agregar(BodegaDto bodega)
        {
            if (ModelState.IsValid)
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(urlApi);
                    var responseTask = client.GetAsync(String.Format("Bodega/{0}", bodega.IdBotella));
                    responseTask.Wait();
                    var result = responseTask.Result;
                    if (result.IsSuccessStatusCode)
                    {
                        var readTask = result.Content.ReadAsStringAsync();
                        readTask.Wait();

                        BodegaDto bod = JsonConvert.DeserializeObject <BodegaDto>(readTask.Result);
                        if (bod != null)
                        {
                            ModelState.AddModelError(string.Empty, StringEnum.GetStringValue(MensajeError.ExisteBodega));
                            ViewBag.ModalAgregar = true;
                            BodegaViewModel b = GetBodegaViewModel();
                            return(View("Index", b));
                        }
                    }
                    var myContent   = JsonConvert.SerializeObject(bodega);
                    var buffer      = System.Text.Encoding.UTF8.GetBytes(myContent);
                    var byteContent = new ByteArrayContent(buffer);
                    byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                    responseTask = client.PostAsync("Bodega", byteContent);
                    responseTask.Wait();

                    result = responseTask.Result;
                    if (result.IsSuccessStatusCode)
                    {
                        var readTask = result.Content.ReadAsStringAsync();
                        readTask.Wait();
                        bodega = JsonConvert.DeserializeObject <BodegaDto>(readTask.Result);
                    }
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                BodegaViewModel b = GetBodegaViewModel();
                ViewBag.ModalAgregar = true;
                return(View("Index", b));
            }
        }
        public ActionResult CrearEditarBodega(BodegaViewModel model)
        {
            try
            {
                var existeBodega = service.GetBodegaByNombre(model.Nombre);
                if (model.Id != 0)
                {
                    if (existeBodega != null)
                    {
                        if ((int)existeBodega.Id != model.Id)
                        {
                            return(Json(new { success = false }));
                        }
                    }

                    var bodega    = map.Update(model, model.Id);
                    var idUsuario = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;

                    string comentarioES = "Editó la bodega " + bodega.Nombre;

                    bitacoraMap.CrearBitacora(int.Parse(idUsuario), comentarioES, (int)bodega.Id, "Bodega");

                    return(Json(new { success = true }));
                }
                else
                {
                    if (existeBodega != null)
                    {
                        return(Json(new { success = false }));
                    }

                    var    bodega       = map.Create(model);
                    var    idUsuario    = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
                    string comentarioES = "Creo una nueva bodega " + bodega.Nombre;
                    //string comentarioIN = "Creo una nueva bitacora";
                    bitacoraMap.CrearBitacora(int.Parse(idUsuario), comentarioES, (int)bodega.Id, "Bodega");
                    return(Json(new { success = true }));
                }
            }
            catch (Exception ex)
            {
                AltivaLog.Log.Insertar(ex.ToString(), "Error");
                return(BadRequest());
            }
        }
Beispiel #4
0
        public ActionResult EditarBodega(int id, BodegaViewModel model)
        {
            try
            {
                var dataIsValid  = false;
                var existeBodega = service.GetBodegaByNombre(model.Nombre);

                if (existeBodega != null)
                {
                    if ((int)existeBodega.Id == id)
                    {
                        dataIsValid = true;
                    }
                    else
                    {
                        return(RedirectToAction("EditarBodega", new { id = id, err = "err" }));
                    }
                }
                else
                {
                    dataIsValid = true;
                }

                if (dataIsValid)
                {
                    var    bodega       = map.Update(model, id);
                    var    idUsuario    = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
                    string comentarioES = "Editó la bodega " + bodega.Nombre;
                    //string comentarioIN = "Creo una nueva bitacora";
                    bitacoraMap.CrearBitacora(int.Parse(idUsuario), comentarioES, (int)bodega.Id, "Bodega");
                    return(RedirectToAction(nameof(DetallesBodega), new { id = bodega.Id }));
                }
                else
                {
                    return(RedirectToAction("EditarBodega", new { id = id, err = "err" }));
                }
            }
            catch
            {
                //throw;
                return(RedirectToAction("EditarBodega", new { id = id, err = "err" }));
            }
        }
Beispiel #5
0
        public TbPrBodega ViewModelToDomainEditar(BodegaViewModel viewModel, int id)
        {
            if (!viewModel.Produccion && !viewModel.Almacenamiento)
            {
                viewModel.Almacenamiento = true;
                viewModel.Produccion     = true;
            }

            var domain = service.GetBodegaById(id);

            domain.Nombre              = viewModel.Nombre;
            domain.Almacenamiento      = viewModel.Almacenamiento;
            domain.Estado              = viewModel.Estado;
            domain.Produccion          = viewModel.Produccion;
            domain.Observaciones       = viewModel.Observaciones;
            domain.UsuarioEncargado    = viewModel.UsuarioEncargado;
            domain.SuministrosInternos = viewModel.SuministrosInternos;
            domain.Consignacion        = viewModel.Consignacion;

            return(domain);
        }
Beispiel #6
0
        public TbPrBodega ViewModelToDomainNuevo(BodegaViewModel viewModel)
        {
            if (!viewModel.Produccion && !viewModel.Almacenamiento && !viewModel.Consignacion && !viewModel.SuministrosInternos)
            {
                viewModel.Almacenamiento      = true;
                viewModel.Produccion          = true;
                viewModel.SuministrosInternos = true;
                viewModel.Consignacion        = true;
            }

            return(new TbPrBodega
            {
                Almacenamiento = viewModel.Almacenamiento,
                Estado = true,
                FechaCreacion = DateTime.Now,
                Nombre = viewModel.Nombre,
                Observaciones = viewModel.Observaciones,
                Produccion = viewModel.Produccion,
                UsuarioEncargado = viewModel.UsuarioEncargado,
                Consignacion = viewModel.Consignacion,
                SuministrosInternos = viewModel.SuministrosInternos
            });
        }
Beispiel #7
0
 public ActionResult CrearBodega(BodegaViewModel model)
 {
     try
     {
         var existeBodega = service.GetBodegaByNombre(model.Nombre);
         if (existeBodega == null)
         {
             var    bodega       = map.Create(model);
             var    idUsuario    = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
             string comentarioES = "Creo una nueva bodega " + bodega.Nombre;
             //string comentarioIN = "Creo una nueva bitacora";
             bitacoraMap.CrearBitacora(int.Parse(idUsuario), comentarioES, (int)bodega.Id, "Bodega");
             return(RedirectToAction(nameof(ListarBodegas)));
         }
         else
         {
             return(RedirectToAction("CrearBodega", new { err = "err" }));
         }
     }
     catch
     {
         return(RedirectToAction("CrearBodega", new { err = "err" }));
     }
 }
        // GET: Home
        public ActionResult Index()
        {
            BodegaViewModel bodega = GetBodegaViewModel();

            return(View(bodega));
        }
Beispiel #9
0
 public TbPrBodega Update(BodegaViewModel viewModel, int id)
 {
     return(service.Update(ViewModelToDomainEditar(viewModel, id)));
 }
Beispiel #10
0
 public TbPrBodega Create(BodegaViewModel viewModel)
 {
     return(service.Save(ViewModelToDomainNuevo(viewModel)));
 }