예제 #1
0
        public ActionResult Register([ModelBinder(typeof(DevExpressEditorsBinder))] RegisterModel model)   //RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                try
                {
                    WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new
                    {
                        Email          = model.Email,
                        NombreCompleto = model.NombreCompleto
                    });
                    //WebSecurity.Login(model.UserName, model.Password, false);

                    string[] rolesDelusuario = Roles.GetRolesForUser(model.UserName);
                    model.UserTypes = CheckBoxListExtension.GetSelectedValues <string>("RolesUnBound");
                    foreach (string item in model.UserTypes)
                    {
                        Roles.AddUserToRole(model.UserName, item);
                    }

                    return(RedirectToAction("UsuariosAplicacion", "Account"));
                    //return RedirectToAction("Register", "Account");
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                    ViewBag.ErrorMessage = ErrorCodeToString(e.StatusCode);
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public ActionResult Index([ModelBinder(typeof(DevExpressEditorsBinder))] MyModel model)
        {
            //Manually Bound Field - CheckBoxList (multi select)
            model.ProgLanguages = CheckBoxListExtension.GetSelectedValues <int>("ProgLanguagesUnbound");

            TempData["PostedModel"] = model;
            return(RedirectToAction("Success"));
        }
예제 #3
0
        public ActionResult EditUsuarioAplicacion(EditUserModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    model.UserTypes = CheckBoxListExtension.GetSelectedValues <string>("RolesUnBound");
                    PRE_UsuariosAplicacion _usuario = _unitOfWork.GetRepositoryInstance <PRE_UsuariosAplicacion>().GetFirstOrDefault(model.UserId);

                    _usuario.Email          = model.Email;
                    _usuario.NombreCompleto = model.NombreCompleto;
                    string[] rolesDelusuario = Roles.GetRolesForUser(model.UserName);
                    foreach (string item in rolesDelusuario)
                    {
                        Roles.RemoveUserFromRole(model.UserName, item);
                    }
                    foreach (string item in model.UserTypes)
                    {
                        Roles.AddUserToRole(model.UserName, item);
                    }

                    if (!string.IsNullOrWhiteSpace(model.Password))
                    {
                        bool changePasswordSucceeded;
                        try
                        {
                            string tokenCambio = WebSecurity.GeneratePasswordResetToken(model.UserName);

                            changePasswordSucceeded = WebSecurity.ResetPassword(tokenCambio, model.Password);
                        }
                        catch (Exception)
                        {
                            changePasswordSucceeded = false;
                        }
                        if (!changePasswordSucceeded)
                        {
                            ViewBag.ErrorMessage = "El password a cambiar es incorrecto";
                        }
                    }

                    _unitOfWork.GetRepositoryInstance <PRE_UsuariosAplicacion>().Update(_usuario);
                    _unitOfWork.SaveChanges();

                    return(RedirectToAction("UsuariosAplicacion", "Account"));
                }
                catch (MembershipCreateUserException e)
                {
                    ViewBag.ErrorMessage = ErrorCodeToString(e.StatusCode);
                }
            }
            else
            {
                ViewBag.ErrorMessage = "La información es incompleta";
            }
            // If we got this far, something failed, redisplay form
            ViewData["RolesItems"] = GetRoles();
            return(View(model));
        }
예제 #4
0
        /// <summary>
        /// Проверяет филиалы для пользователя.
        /// </summary>
        /// <param name="modelState">Состояние модели.</param>
        /// <returns></returns>
        private static Guid?[] CheckBranchIds(ModelStateDictionary modelState)
        {
            Guid?[] ids = CheckBoxListExtension.GetSelectedValues <Guid?>(FinancialGroupItemCreateModel.BranchIdsCheckListPropertyName);

            if (!ids.Any())
            {
                modelState.AddModelError(FinancialGroupItemCreateModel.BranchIdsCheckListPropertyName, "Необходим хотя бы один филиал");
            }
            return(ids);
        }
예제 #5
0
        public ActionResult IndexBySite(SiteAuthModel model)
        {
            int[] selectedItems = CheckBoxListExtension.GetSelectedValues <int>("checkBoxList1");

            //firstly lets remove any that are not in the list
            var currentmodel = db.t_Hovis_Milling_User_Site_Authorisation;

            if (ModelState.IsValid)
            {
                try
                {
                    var currentauthlist = db.t_Hovis_Milling_User_Site_Authorisation.Where(s => s.UserName == model.SelectedUserName).ToList();
                    if (currentauthlist != null)
                    {
                        var tobedeleted = currentauthlist.Where(p => !selectedItems.Any(p2 => p2 == p.SiteRecid)).ToList();

                        if (tobedeleted != null)
                        {
                            foreach (var trash in tobedeleted)
                            {
                                currentmodel.Remove(trash);
                                db.SaveChanges();
                            }
                        }
                        ;

                        var alreadyexist = currentauthlist.Where(q => selectedItems.Any(q2 => q2 == q.SiteRecid)).ToList();

                        var newrecords = selectedItems.Where(t => !alreadyexist.Any(t2 => t2.SiteRecid == t)).ToList();

                        if (newrecords != null)
                        {
                            foreach (var newitem in newrecords)
                            {
                                t_Hovis_Milling_User_Site_Authorisation newauthrec = new t_Hovis_Milling_User_Site_Authorisation();
                                newauthrec.SiteRecid = newitem;
                                newauthrec.UserName  = model.SelectedUserName;
                                currentmodel.Add(newauthrec);
                                db.SaveChanges();
                            }
                        }
                        ;

                        return(RedirectToAction("IndexList", "ApplicationUser"));
                    }
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                }
            }

            return(View(model));
        }
예제 #6
0
        public ActionResult Edit(StaffingLogVM model)
        {
            var request = new StaffingLogSaveRequest
            {
                ID = model.CaseID,
                ParentalRestaffRequest = model.ParentalRestaffRequest,
                HoursOfABATherapy      = model.HoursOfABATherapy,
                AidesRespondingNo      = model.AidesRespondingNo,
                AidesRespondingMaybe   = model.AidesRespondingMaybe,
                ScheduleRequest        = model.ScheduleRequest != null?model.ScheduleRequest.ToInt() : 0,
                                             SpecialAttentionNeedIds  = CheckBoxListExtension.GetSelectedValues <int>("SpecialAttentionNeedIds"),
                                             ProviderGenderPreference = model.ProviderGenderPreference != '0' ? model.ProviderGenderPreference : null
            };

            return(SaveFullAction(model, model.ViewHelper, "Search", "Edit", "ErrorPartial", () => repository.SaveStaffingLog(request)));
        }
        public void Sacuvaj(KorisnickiNalog korisnickiNalog)
        {
            var izabraneUloge = CheckBoxListExtension.GetSelectedValues <int>("UlogeRadnika");
            var zaSnimanje    = fRepositoryFactory.KorisnickiNaloziRepository.VratiKorisnickiNalog(korisnickiNalog.ID) ??
                                new KorisnickiNalog();

            zaSnimanje.KorisnickoIme = korisnickiNalog.KorisnickoIme;
            if (!String.IsNullOrEmpty(korisnickiNalog.LozinkaPlain))
            {
                zaSnimanje.LozinkaPlain = korisnickiNalog.LozinkaPlain;
                zaSnimanje.Lozinka      = HashUtilities.CalculateMd5Hash(korisnickiNalog.LozinkaPlain);
            }
            else
            {
                zaSnimanje.LozinkaPlain = "Stavljeno samo zbog validacije";
            }
            zaSnimanje.RadnikID = korisnickiNalog.RadnikID;
            fRepositoryFactory.KorisnickiNaloziRepository.Add(zaSnimanje);
            if (korisnickiNalog.ID == 0)
            {
                fRepositoryFactory.KorisnickiNaloziRepository.Save();
                return;
            }

            var sveUloge      = fRepositoryFactory.UlogeRadnikaRepository.VratiUloge();
            var sacuvaneUloge = zaSnimanje.Radnik.UlogeRadnika.ToArray();

            foreach (var uloga in sacuvaneUloge)
            {
                if (izabraneUloge.All(x => x != uloga.ID))
                {
                    var ulogaZaBrisanje = sacuvaneUloge.Single(x => x.ID == uloga.ID);
                    zaSnimanje.Radnik.UlogeRadnika.Remove(ulogaZaBrisanje);
                }
            }
            foreach (var id in izabraneUloge)
            {
                var uloga = sveUloge.Single(x => x.ID == id);
                zaSnimanje.Radnik.UlogeRadnika.Add(uloga);
            }
            fRepositoryFactory.KorisnickiNaloziRepository.Save();
        }
        public JsonResult GenerarNuevaBaseEjercicioGastos(NuevaBaseEjercicioModel model)
        {
            IRepositoryWrapper _repo = new RepositoryWrapper();

            if (ModelState.IsValid)
            {
                try
                {
                    string[] selectedItems = CheckBoxListExtension.GetSelectedValues <string>("chkEmpresasMesesList");

                    int versionActualID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.GASTOS);
                    int versionPptoID   = model.VersionId;

                    // SE VALIDA QUE NO SE HAYA EJECUTADO DOS VECES EL MISMO PROCESO
                    if (versionPptoID > 0)
                    {
                        if (versionActualID != versionPptoID)
                        {
                            return(Json("Proceso Duplicado"));
                        }
                    }
                    var resultaTotal = _repo.Gastos.ActualizarBase(model, selectedItems, User.Identity.Name);
                    if (!resultaTotal.Item1)
                    {
                        throw new Exception(string.Join(Environment.NewLine, resultaTotal.Item2));
                    }


                    //// SE CREA LA TABLA TEMPORAL Y SE ACUMULAN
                    //var resultaCrear = _repo.Gastos.ValidaExistenciaTmpResultadoGastos();
                    //if (!resultaCrear.Item1)
                    //{
                    //    throw new Exception(string.Join(Environment.NewLine, resultaCrear.Item2));
                    //}
                    //string idTemporal = Guid.NewGuid().ToString();
                    //foreach (string selected in selectedItems)
                    //{
                    //    short pEjercicio = 0;
                    //    short.TryParse(selected.Substring(0, 4), out pEjercicio);
                    //    short pMes = 0;
                    //    short.TryParse(selected.Substring(4, 2), out pMes);
                    //    short pEmpresa = 0;
                    //    short.TryParse(selected.Substring(6, 2), out pEmpresa);
                    //    var resultaTmp = _repo.Gastos
                    //        .AgregarEnTmpResultadoGastos((short)model.Ejercicio, pEjercicio, pEmpresa, pMes, idTemporal);
                    //    if (!resultaTmp.Item1)
                    //    {
                    //        throw new Exception(string.Join(Environment.NewLine, resultaTmp.Item2));
                    //    }
                    //}

                    //// SE CREA NUEVA VERSION DE PRESUPUESTO
                    //if (model.VersionId == 0)
                    //{
                    //    VersionPresupuesto versionPpto = new VersionPresupuesto
                    //    {
                    //        Consecutivo = model.Consecutivo,
                    //        Ejercicio = model.Ejercicio,
                    //        FechaCreacion = _unitOfWork.getDateOnlyFromServer(),
                    //        Observaciones = model.Observaciones,
                    //        TipoPresupuesto = (int)enumTipoDePresupuesto.GASTOS,
                    //        UsuarioCreacion = User.Identity.Name,
                    //        EstaCerrado = false
                    //    };
                    //    var result = await _repo.VersionesPresupuesto.CreateAsync(versionPpto);
                    //    if (!result.Item1)
                    //    {
                    //        throw new Exception(string.Join(Environment.NewLine, result.Item2));
                    //    }
                    //    versionPptoID = versionPpto.VersionPresupuestoId;
                    //}

                    //// PROCESO PARA COPIAR VERSION DE PRESUPUESTO A NUEVA VERSION
                    //var resultNuevaVersion = _repo.Gastos
                    //    .GenerarVersion(model.VersionId, true, model.Observaciones, model.Ejercicio, model.Consecutivo, User.Identity.Name);
                    //if (!resultNuevaVersion.Item1)
                    //{
                    //    throw new Exception(string.Join(Environment.NewLine, resultNuevaVersion.Item2));
                    //}

                    //int versionProcesarID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.GASTOS);
                    //var resultActualiza = _repo.Gastos.ActualizarBase(model.EmpresaId, model.Ejercicio, versionProcesarID, idTemporal);
                    //if (!resultActualiza.Item1)
                    //{
                    //    throw new Exception(string.Join(Environment.NewLine, resultActualiza.Item2));
                    //}
                    ////using (FTPresupuestoEntities _db = new FTPresupuestoEntities())
                    ////{
                    ////    // CONFIGURAMOS PARA QUE EL TIEMMPO DE RESPUESTA SEA INDEFINIDO
                    ////    _db.Database.CommandTimeout = 0;


                    ////    // VALIDAMOS LA VERSION DE PRESUPUESTO A PROCESAR, DEBE SER LA ULTIMA

                    ////    // SE EJECUTA LA CARGA DE PRESUPUESTO BASE
                    ////    _db.ActualizarBase_Ppto_Gastos(model.EmpresaId, model.Ejercicio, versionProcesarID, idTemporal);
                    ////}

                    return(Json($"El Proceso finalizo de manera correcta a las {DateTime.Now.ToLongTimeString()} el {DateTime.Now.ToShortDateString()}"));
                }
                catch (Exception ex)
                {
                    string    errorMensaje = ex.Message;
                    Exception _ex          = ex.InnerException;
                    while (_ex != null)
                    {
                        errorMensaje = _ex.Message;
                        _ex          = _ex.InnerException;
                    }
                    return(Json(errorMensaje)); //Json(ex.InnerException.Message);
                }
            }
            return(Json("La Informacion esta Incompleta para procesar el nuevo ejercicio"));
        }
예제 #9
0
 /// <summary>
 /// Переопределяется для обработки несвязанных полей для формы редактирования сущности.
 /// </summary>
 /// <param name="editModel">Модель редактирования.</param>
 /// <param name="parentId">Код родительской сущности.</param>
 /// <param name="modelState">Состояние модели.</param>
 public override void ProcessEditUnboundItems(FinancialGroupItemCreateModel editModel, string parentId, ModelStateDictionary modelState)
 {
     editModel.BranchIds    = CheckBranchIds(modelState);
     editModel.WarehouseIds = CheckBoxListExtension.GetSelectedValues <Guid?>(FinancialGroupItemCreateModel.WarehouseIdsCheckListPropertyName);
 }
        public async Task <JsonResult> GenerarNuevaBaseEjercicioSemillas(NuevaBaseEjercicioModel model)
        {
            IRepositoryWrapper _repo = new RepositoryWrapper();

            if (ModelState.IsValid)
            {
                try
                {
                    string[] selectedItems   = CheckBoxListExtension.GetSelectedValues <string>("chkEmpresasMesesList");
                    int      versionActualID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.SEMILLAS);
                    int      versionPptoID   = model.VersionId;

                    // SE VALIDA QUE NO SE HAYA EJECUTADO DOS VECES EL MISMO PROCESO
                    if (versionPptoID > 0)
                    {
                        if (versionActualID != versionPptoID)
                        {
                            return(Json("Proceso Duplicado"));
                        }
                    }

                    var resultaTotal = await _repo.Semillas.ActualizarBaseAsync(model, selectedItems, User.Identity.Name);

                    if (!resultaTotal.Item1)
                    {
                        throw new Exception(string.Join(Environment.NewLine, resultaTotal.Item2));
                    }
                    //// SE CREA NUEVA VERSION DE PRESUPUESTO
                    //if (model.VersionId == 0)
                    //{
                    //    VersionPresupuesto versionPpto = new VersionPresupuesto
                    //    {
                    //        Consecutivo = model.Consecutivo,
                    //        Ejercicio = model.Ejercicio,
                    //        FechaCreacion = _unitOfWork.getDateOnlyFromServer(),
                    //        Observaciones = model.Observaciones,
                    //        TipoPresupuesto = (int)enumTipoDePresupuesto.SEMILLAS,
                    //        UsuarioCreacion = User.Identity.Name,
                    //        EstaCerrado = false
                    //    };
                    //    var result = await _repo.VersionesPresupuesto.CreateAsync(versionPpto);
                    //    if (!result.Item1)
                    //    {
                    //        throw new Exception(string.Join(Environment.NewLine, result.Item2));
                    //    }
                    //    versionPptoID = versionPpto.VersionPresupuestoId;
                    //}
                    //// PROCESO PARA COPIAR VERSION DE PRESUPUESTO A NUEVA VERSION
                    //var resultNuevaVersion = _repo.Semillas
                    //    .GenerarVersion(model.VersionId, true, model.Observaciones, model.Ejercicio, model.Consecutivo, User.Identity.Name);
                    //if (!resultNuevaVersion.Item1)
                    //{
                    //    throw new Exception(string.Join(Environment.NewLine, resultNuevaVersion.Item2));
                    //}

                    //// SE INICIALIZA LA CONEXION Y CONTEXTO DE BASE DE DATOS


                    //using (FTPresupuestoEntities _db = new FTPresupuestoEntities())
                    //{
                    //    // CONFIGURAMOS PARA QUE EL TIEMMPO DE RESPUESTA SEA INDEFINIDO
                    //    _db.Database.CommandTimeout = 0;


                    //    // VALIDAMOS LA VERSION DE PRESUPUESTO A PROCESAR, DEBE SER LA ULTIMA
                    //    int versionProcesarID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.SEMILLAS);

                    //    // SE EJECUTA LA CARGA DE PRESUPUESTO BASE
                    //    _db.ActualizarBase_Ppto_Semillas(0, model.EmpresaId, model.Ejercicio, versionProcesarID, "");
                    //}

                    return(Json($"El Proceso finalizo de manera correcta a las {DateTime.Now.ToLongTimeString()} el {DateTime.Now.ToShortDateString()}"));
                }
                catch (Exception ex)
                {
                    string    errorMensaje = ex.Message;
                    Exception _ex          = ex.InnerException;
                    while (_ex != null)
                    {
                        errorMensaje = _ex.Message;
                        _ex          = _ex.InnerException;
                    }
                    return(Json(errorMensaje)); //Json(ex.InnerException.Message);
                }
            }
            return(Json("La Informacion esta Incompleta para procesar el nuevo ejercicio"));
        }