public IHttpActionResult Post_CrearTienda(TiendaViewModel tiendaViewModel)
        {
            if (ModelState.IsValid)
            {
                RelojServidor relojServidor = new RelojServidor();
                relojServidor.ColocarMismaFechaHoraEnCamposFechaAltaYFechaModificacion(tiendaViewModel);
                TiendaLN tiendaLN = new TiendaLN();

                string respuesta = tiendaLN.PostCrearTienda(tiendaViewModel);
                if (respuesta.Contains("ok"))
                {
                    return(Ok(respuesta));
                }

                else
                {
                    return(BadRequest(respuesta));
                }
            }

            else
            {
                return(BadRequest("Fallo el model binder en TiendaAPIController.Put_CrearTienda"));
            }
        }
        public IHttpActionResult Get_BuscarTiendaDeUsuarioXNombre(string nombreTienda, int idUsuarioOperador)
        {
            if (ModelState.IsValid)
            {
                TiendaViewModel tiendaViewModel = new TiendaViewModel();
                tiendaViewModel.Nombre        = nombreTienda;
                tiendaViewModel.IdUsuarioAlta = idUsuarioOperador;
                TiendaLN        tiendaLN = new TiendaLN();
                TiendaViewModel tiendaBuscadaViewModel = tiendaLN.Get_BuscarTiendaDeUsuarioXNombre(tiendaViewModel);
                if (tiendaBuscadaViewModel != null)
                {
                    return(Ok(tiendaBuscadaViewModel));
                }

                else
                {
                    return(BadRequest("No se encontro la tienda buscada"));
                }
            }

            else
            {
                return(BadRequest("Fallo en el model binder TiendaAPIController.Get_BuscarTiendaDeUsuarioXNombre"));
            }
        }
        public JsonResult Guardar(TiendaViewModel oTiendaViewModel)
        {
            List <String> resultado = new List <String>();

            resultado.Add("true");
            resultado.Add(Constantes.GuardadoExitoso);

            TiendaServicesController oServices = new TiendaServicesController();

            try
            {
                EntityTienda oEntityTiendaExists = oServices.SelectByKey(oTiendaViewModel.EntityTienda.Key);

                if (Constantes.CadenaVacio != oEntityTiendaExists.Key.CodTienda)
                {
                    oServices.Update(oTiendaViewModel.EntityTienda);
                }
                else
                {
                    oServices.Insert(oTiendaViewModel.EntityTienda);
                }
            }
            catch (Exception)
            {
                resultado[0] = "false";
                resultado[1] = Constantes.GuardadoNoExitoso;
            }

            return(Json(resultado, JsonRequestBehavior.AllowGet));
        }
 private void InicializarTiendaViewModelConDatosQueLLegaronAlControlador(TiendaViewModel tiendaVM)
 {
     tiendaVM.Nombre  = ModelState["tiendaViewModel.Nombre"].Value.AttemptedValue;
     tiendaVM.Supmza  = ModelState["tiendaViewModel.Supmza"].Value.AttemptedValue;
     tiendaVM.Manzana = ModelState["tiendaViewModel.Manzana"].Value.AttemptedValue;
     tiendaVM.Lote    = ModelState["tiendaViewModel.Lote"].Value.AttemptedValue;
     tiendaVM.Calle   = ModelState["tiendaViewModel.Calle"].Value.AttemptedValue;
 }
 public ActionResult Index(TiendaViewModel oTiendaViewModel)
 {
     oTiendaViewModel.EntityTiendaPaginacion = new EntityTiendaPaginacion {
         Estado = Constantes.UnoNegativo
     };
     oTiendaViewModel.ListTiendaPaginado = new List <EntityTiendaPaginacion>();
     return(View(oTiendaViewModel));
 }
        public PartialViewResult UbigeoPV(TiendaViewModel oTiendaViewModel)
        {
            UbigeoServicesController oUbigeoServices = new UbigeoServicesController();

            String departamento = oTiendaViewModel.EntityTienda.IdRegion;
            String provincia    = oTiendaViewModel.EntityTienda.IdProvincia;
            String distrito     = oTiendaViewModel.EntityTienda.IdDistrito;

            departamento = (String.IsNullOrEmpty(departamento)) ? Constantes.CadenaVacio : departamento;
            provincia    = (String.IsNullOrEmpty(provincia)) ? Constantes.CadenaVacio : provincia;
            distrito     = (String.IsNullOrEmpty(distrito)) ? Constantes.CadenaVacio : distrito;

            oTiendaViewModel.ListDepartamento = oUbigeoServices.SelectDepartamento
                                                    (new EntityDepartamento
            {
                Key = new KeyDepartamento
                {
                    IdDepartamento = Constantes.CadenaVacio
                },
                Estado = Constantes.Activo
            });


            oTiendaViewModel.ListProvincia = oUbigeoServices.SelectProvincia
                                                 (new EntityProvincia
            {
                Key = new KeyProvincia
                {
                    IdDepartamento = departamento,
                    IdProvincia    = provincia
                },
                Estado = Constantes.Activo
            });


            oTiendaViewModel.ListDistrito = oUbigeoServices.SelectDistrito
                                                (new EntityDistrito
            {
                Key = new KeyDistrito
                {
                    IdDepartamento = departamento,
                    IdProvincia    = provincia,
                    IdDistrito     = distrito
                },
                Estado = Constantes.Activo
            });

            oTiendaViewModel.EntityTienda.IdRegion    = departamento;
            oTiendaViewModel.EntityTienda.IdProvincia = provincia;
            oTiendaViewModel.EntityTienda.IdDistrito  = distrito;

            return(PartialView(Constantes.UbigeoPV, oTiendaViewModel));
        }
        public ActionResult TiendaGridPV(TiendaViewModel oTiendaViewModel, Int32 pageIndex)
        {
            TiendaServicesController oServices = new TiendaServicesController();

            if (null == oTiendaViewModel.EntityTiendaPaginacion.EntityPaginacion)
            {
                oTiendaViewModel.EntityTiendaPaginacion.EntityPaginacion             = new SGI.Proxy.Services.TiendaServices.EntityPaginacion();
                oTiendaViewModel.EntityTiendaPaginacion.EntityPaginacion.PageIndex   = (pageIndex != Constantes.Cero) ? pageIndex : Constantes.PageIndex;
                oTiendaViewModel.EntityTiendaPaginacion.EntityPaginacion.RowsPerPage = Constantes.RowsPerPage;
            }

            EntityTiendaPaginacion oEntityTiendaPaginacion = oTiendaViewModel.EntityTiendaPaginacion;

            IList <EntityTiendaPaginacion> oListTienda = oServices.SelectPagging(ref oEntityTiendaPaginacion);

            oTiendaViewModel.ListTiendaPaginado     = oListTienda;
            oTiendaViewModel.EntityTiendaPaginacion = oEntityTiendaPaginacion;

            return(PartialView(Constantes.TiendaGridPV, oTiendaViewModel));
        }
        public JsonResult ActualizarTiendaDeUsuario(TiendaViewModel tiendaViewModel)
        {
            string respuesta = "";

            if (ModelState.IsValid)
            {
                UsuarioViewModel usuarioViewModel = LLamarApiBuscarUsuarioXUsuario(User.Identity.Name);
                tiendaViewModel.IdUsuarioAlta     = usuarioViewModel.Id;
                tiendaViewModel.IdUsuarioModifico = usuarioViewModel.Id;

                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri("http://localhost:51339/");

                    //HTTP PUT
                    var putTask = client.PutAsJsonAsync <TiendaViewModel>("api/TiendaAPI/Put_ActualizarTiendaDeUsuario", tiendaViewModel);
                    putTask.Wait();
                    var result = putTask.Result;
                    if (result.IsSuccessStatusCode)
                    {
                        respuesta = "ok";
                    }

                    else
                    {
                        var x = result.Content.ReadAsStringAsync();
                        x.Wait(); // x.Result tiene el resultado
                        respuesta = x.Result;
                    }
                }
            }

            else
            {
                respuesta = "No se pudo enlazar los datos para actualizar";
            }

            return(Json(respuesta, JsonRequestBehavior.AllowGet));
        }
        public JsonResult BuscarTiendaXNombreDeTienda(string nombreDeTienda)
        {
            TiendaViewModel  tiendaBuscadaViewModel = new TiendaViewModel();
            UsuarioViewModel usuarioViewModel       = LLamarApiBuscarUsuarioXUsuario(User.Identity.Name);


            if (ModelState.IsValid)
            {
                if (usuarioViewModel != null)
                {
                    using (var cliente = new HttpClient())
                    {
                        cliente.BaseAddress = new Uri("http://localhost:51339/");
                        var responseTask = cliente.GetAsync("api/TiendaAPI/Get_BuscarTiendaDeUsuarioXNombre?nombreTienda=" + nombreDeTienda + "&idUsuarioOperador=" + usuarioViewModel.Id.ToString());
                        responseTask.Wait();

                        var result = responseTask.Result;
                        if (result.IsSuccessStatusCode)
                        {
                            var readTask = result.Content.ReadAsAsync <TiendaViewModel>();
                            readTask.Wait();

                            tiendaBuscadaViewModel = readTask.Result;
                        }
                        else //web api sent error response
                        {
                            var x = result.Content.ReadAsStringAsync();
                            x.Wait();                                         //x.Result tiene el resultado
                            ModelState.AddModelError(string.Empty, x.Result); //Falta agregar el ModelState.Summary en la GUI
                        }
                    }
                }
            }

            //La GUI evalua el objeto json regresado, lo interpreta
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetNoStore();
            return(Json(tiendaBuscadaViewModel.MostrarEnTiposPrimitivos(), JsonRequestBehavior.AllowGet));
        }
        public IHttpActionResult Put_ActualizarTiendaDeUsuario(TiendaViewModel tiendaViewModel)
        {
            if (ModelState.IsValid)
            {
                TiendaLN tiendaLN = new TiendaLN();
                string   res      = tiendaLN.Put_ActualizarTiendaDeUsuario(tiendaViewModel);

                if (res.Contains("ok"))
                {
                    return(Ok());
                }

                else
                {
                    return(BadRequest(res));
                }
            }

            else
            {
                return(BadRequest("Fallo el model binder en TiendaAPIController.Put_ActualizarTiendaDeUsuario"));
            }
        }
        public ActionResult CrearTienda(TiendaViewModel tiendaViewModel)
        {
            if (ModelState.IsValid)
            {
                UsuarioViewModel usuarioInfoViewModel = LLamarApiBuscarUsuarioXUsuario(User.Identity.Name);

                if (usuarioInfoViewModel != null)
                {
                    tiendaViewModel.IdUsuarioAlta     = usuarioInfoViewModel.Id;
                    tiendaViewModel.IdUsuarioModifico = usuarioInfoViewModel.Id;

                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri("http://localhost:51339/");

                        //HTTP POST
                        var postTask = client.PostAsJsonAsync <TiendaViewModel>("api/TiendaAPI/Post_CrearTienda", tiendaViewModel);
                        postTask.Wait();

                        var result = postTask.Result;
                        if (result.IsSuccessStatusCode)
                        {
                            return(RedirectToAction("Index"));
                        }

                        else
                        {
                            //https://www.thetopsites.net/article/53008477.shtml
                            var x = result.Content.ReadAsStringAsync();
                            x.Wait(); //x.Result tiene el resultado

                            ModelState.AddModelError(string.Empty, x.Result);
                            TiendaViewModel tiendaVM = new TiendaViewModel();
                            InicializarTiendaViewModelConDatosQueLLegaronAlControlador(tiendaVM);
                            Response.Cache.SetCacheability(HttpCacheability.NoCache);
                            Response.Cache.SetNoStore();
                            return(View("MostrarFormAltaTienda", tiendaVM));
                        }
                    }
                }

                else
                {
                    ModelState.AddModelError("", "No se pudo localizar a usuario " + User.Identity.Name);
                    TiendaViewModel tiendaVM = new TiendaViewModel();
                    InicializarTiendaViewModelConDatosQueLLegaronAlControlador(tiendaVM);
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    Response.Cache.SetNoStore();
                    return(View("MostrarFormAltaTienda", tiendaVM));
                }
            }

            else
            {
                TiendaViewModel tiendaVM = new TiendaViewModel();
                InicializarTiendaViewModelConDatosQueLLegaronAlControlador(tiendaVM);
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.Cache.SetNoStore();
                return(View("MostrarFormAltaTienda", tiendaVM));
            }
        }
        public ActionResult Edit(KeyTienda oKey)
        {
            TiendaServicesController  oServices        = new TiendaServicesController();
            UbigeoServicesController  oUbigeoServices  = new UbigeoServicesController();
            UsuarioServicesController oUsuarioServices = new UsuarioServicesController();

            TiendaViewModel oTiendaViewModel = new TiendaViewModel();

            EntityTienda oEntityTienda = oServices.SelectByKey(oKey);

            oTiendaViewModel.EntityTienda = oEntityTienda;

            if (String.IsNullOrEmpty(oEntityTienda.Key.CodTienda))
            {
                oTiendaViewModel.ListDepartamento = oUbigeoServices.SelectDepartamento
                                                        (new EntityDepartamento
                {
                    Key = new KeyDepartamento
                    {
                        IdDepartamento = Constantes.CadenaVacio
                    },
                    Estado = Constantes.Activo
                });

                oTiendaViewModel.ListProvincia = oUbigeoServices.SelectProvincia
                                                     (new EntityProvincia
                {
                    Key = new KeyProvincia
                    {
                        IdDepartamento = Constantes.CadenaVacio,
                        IdProvincia    = Constantes.CadenaSeleccione
                    },
                    Estado = Constantes.Activo
                });


                oTiendaViewModel.ListDistrito = oUbigeoServices.SelectDistrito
                                                    (new EntityDistrito
                {
                    Key = new KeyDistrito
                    {
                        IdDepartamento = Constantes.CadenaVacio,
                        IdProvincia    = Constantes.CadenaSeleccione,
                        IdDistrito     = Constantes.CadenaSeleccione
                    },
                    Estado = Constantes.Activo
                });
            }
            else
            {
                oTiendaViewModel.ListDepartamento = oUbigeoServices.SelectDepartamento
                                                        (new EntityDepartamento
                {
                    Key = new KeyDepartamento
                    {
                        IdDepartamento = oTiendaViewModel.EntityTienda.IdRegion
                    },
                    Estado = Constantes.Activo
                });

                oTiendaViewModel.ListProvincia = oUbigeoServices.SelectProvincia
                                                     (new EntityProvincia
                {
                    Key = new KeyProvincia
                    {
                        IdDepartamento = oTiendaViewModel.EntityTienda.IdRegion,
                        IdProvincia    = oTiendaViewModel.EntityTienda.IdProvincia
                    },
                    Estado = Constantes.Activo
                });


                oTiendaViewModel.ListDistrito = oUbigeoServices.SelectDistrito
                                                    (new EntityDistrito
                {
                    Key = new KeyDistrito
                    {
                        IdDepartamento = oTiendaViewModel.EntityTienda.IdRegion,
                        IdProvincia    = oTiendaViewModel.EntityTienda.IdProvincia,
                        IdDistrito     = oTiendaViewModel.EntityTienda.IdDistrito
                    },
                    Estado = Constantes.Activo
                });
            }

            return(PartialView(Constantes.TiendaEdit, oTiendaViewModel));
        }