Exemplo n.º 1
0
        public ActionResult New(LocalFormModel formModel)
        {
            if (ModelState.IsValid)
            {
                var local = new Local()
                {
                    Codigo         = formModel.Codigo,
                    Nombre         = formModel.Nombre,
                    Descripcion    = formModel.Descripcion,
                    Direccion      = formModel.Direccion,
                    Telefono       = formModel.Telefono,
                    Email          = formModel.Email,
                    Ruc            = formModel.Ruc,
                    OpClave        = formModel.OpClave,
                    AC             = formModel.AC,
                    Concepto       = formModel.Concepto,
                    CreadoPor      = User.Identity.Name,
                    CreadoEn       = DateTime.Now,
                    ActualizadoPor = User.Identity.Name,
                    ActualizadoEn  = DateTime.Now,
                    Estado         = _statusService.Get(formModel.Estado),
                    TipoLocal      = _localService.GetTipo(formModel.TipoLocal),
                    Cadena         = _cadenaService.Get(formModel.Cadena),
                    Ciudad         = _ubicacionService.GetCiudad(formModel.Ciudad),
                    JefeArea       = _jerarquiaService.GetJefeArea(formModel.JefeArea),
                    Propietario    = _jerarquiaService.GetJefeArea(formModel.JefeArea).Nombre,
                };

                if (formModel.Imagen != null && formModel.Imagen.ContentLength > 0)
                {
                    var imageUrl = _blobImageService.UploadImage(formModel.Imagen, BlobContainers.Locales());
                    local.Imagen = imageUrl;
                }

                if (formModel.Logo != null && formModel.Logo.ContentLength > 0)
                {
                    var logoUrl = _blobImageService.UploadImage(formModel.Logo, BlobContainers.General());
                    local.Logo = logoUrl;
                }

                var confirmation = _localService.SaveOrUpdate(local);
                if (confirmation.WasSuccessful)
                {
                    this.AddPageMessage("Local creado con éxito", PageMessageType.Success, true);
                    return(RedirectToAction("index", "locales"));
                }
                else
                {
                    this.AddPageMessage(confirmation.Message, PageMessageType.Error, false);
                }
            }

            PopulateFormModelData(formModel, null);
            return(View(formModel));
        }
Exemplo n.º 2
0
        public ActionResult New(EstandarFormModel formModel, string parentId = "")
        {
            if (ModelState.IsValid && IsStandardValid(formModel))
            {
                var estandar = new Estandar
                {
                    Codigo          = formModel.Codigo,
                    Nombre          = formModel.Nombre,
                    Descripcion     = !string.IsNullOrEmpty(formModel.Descripcion) ? formModel.Descripcion : string.Empty,
                    NotasEspeciales = !string.IsNullOrEmpty(formModel.NotasEspeciales) ? formModel.NotasEspeciales : string.Empty,
                    CreadoEn        = DateTime.Now,
                    TipoEstandar    = formModel.TipoEstandar,
                    GrupoEstandar   = _estandarService.GetGrupo(formModel.GrupoEstandar),
                    ActualizadoEn   = DateTime.Now,
                    CreadoPor       = User.Identity.Name,
                    ActualizadoPor  = User.Identity.Name,
                    Estado          = _statusService.Get(formModel.Estado),
                    Nivel           = _estandarService.GetNivel(formModel.Nivel),
                    Categoria       = _estandarService.GetCategoria(formModel.Categoria),
                    Clasificacion   = _estandarService.GetClasificacion(formModel.Clasificacion)
                };

                var sistemas = new List <Sistema>();

                if (formModel.Sistema != null && formModel.Sistema.Length > 0)
                {
                    foreach (var sistemaId in formModel.Sistema)
                    {
                        var sistema = _estandarService.GetSistema(Guid.Parse(sistemaId));
                        if (sistema != null)
                        {
                            sistemas.Add(sistema);
                        }
                    }
                }

                var tipoLocales = new List <TipoLocal>();
                if (formModel.TipoLocal != null && formModel.TipoLocal.Length > 0)
                {
                    foreach (var tipoLocalId in formModel.TipoLocal)
                    {
                        var tipoLocal = _localService.GetTipo(Guid.Parse(tipoLocalId));
                        if (tipoLocal != null)
                        {
                            tipoLocales.Add(tipoLocal);
                        }
                    }
                }


                var confirmation = _estandarService.SaveOrUpdate(estandar);
                if (confirmation.WasSuccessful)
                {
                    estandar.Sistemas    = sistemas;
                    estandar.TipoLocales = tipoLocales;

                    _estandarService.SaveOrUpdate(estandar);

                    if (!string.IsNullOrEmpty(parentId))
                    {
                        var parentGuid = Guid.Parse(parentId);
                        var parent     = _estandarService.Get(parentGuid);
                        if (parent != null)
                        {
                            estandar.EstandarPadre = parent;
                            _estandarService.SaveOrUpdate(estandar);
                        }
                    }

                    this.AddPageMessage("Estandar creado con éxito", PageMessageType.Success, true);

                    if (!string.IsNullOrEmpty(parentId))
                    {
                        var parentGuid = Guid.Parse(parentId);
                        var parent     = _estandarService.Get(parentGuid);
                        if (parent != null)
                        {
                            return(RedirectToAction("show", "estandares", new { id = parent.Id }));
                        }
                        else
                        {
                            return(RedirectToAction("index", "estandares"));
                        }
                    }
                    else
                    {
                        return(RedirectToAction("index", "estandares"));
                    }
                }
                else
                {
                    this.AddPageMessage(confirmation.Message, PageMessageType.Error, false);
                }
            }

            PopulateFormModelData(formModel, null);
            return(View(formModel));
        }