public ActionResult ViewDepartamento(Int32 DepartamentoId, Int32 EdificioId) { AddEditDepartamentoViewModel ViewModel = new AddEditDepartamentoViewModel(); ViewModel.EdificioId = EdificioId; ViewModel.DepartamentoId = DepartamentoId; ViewModel.Fill(CargarDatosContext()); return(View(ViewModel)); }
public ActionResult AddEditDepartamento(AddEditDepartamentoViewModel ViewModel) { if (!ModelState.IsValid) { ViewModel.Fill(CargarDatosContext()); TryUpdateModel(ViewModel); return(View(ViewModel)); } try { if (!ViewModel.DepartamentoId.HasValue) { Departamento _nuevo = new Departamento(); _nuevo.EdificioId = ViewModel.EdificioId.ToInteger(); _nuevo.Numero = ViewModel.Numero; try { _nuevo.Piso = Int32.Parse(ViewModel.Numero) / 100; } catch (Exception ex) { _nuevo.Piso = 0; } _nuevo.NombrePropietario = ViewModel.NombreReciboDepartamento == "P" ? true : false; _nuevo.NombreRecibo = _nuevo.NombrePropietario ? "PROPIETARIO" : "INQUILINO"; _nuevo.LecturaAgua = ViewModel.LecturaAgua; _nuevo.Estado = ConstantHelpers.EstadoActivo; _nuevo.FactorGasto = ViewModel.FactorGasto; _nuevo.Estacionamiento = ViewModel.Estacionamiento; _nuevo.Deposito = ViewModel.Deposito; _nuevo.DepartamentoM2 = ViewModel.DepartamentoM2; _nuevo.EstacionamientoM2 = ViewModel.EstacionamientoM2; _nuevo.DepositoM2 = ViewModel.DepositoM2; _nuevo.PDistribucion = ViewModel.PDistribucion; _nuevo.MontoMora = 0M; _nuevo.TotalM2 = ViewModel.AreaTotalM2; _nuevo.OmitirMora = false; _nuevo.CuotaDefault = ViewModel.CuotaDefault; _nuevo.TipoInmuebleId = ViewModel.TipoInmuebleId; //_nuevo.NombreRecibo = ViewModel.NombreRecibo; _nuevo.AlertaMora = ViewModel.AlertaMoraDrop == "1" ? true : false; context.Departamento.Add(_nuevo); var numeroRecibo = context.UnidadTiempoReciboDepartamento.Where(x => x.Departamento.EdificioId == ViewModel.EdificioId).Max(x => x.NumeroRecibo); var unidadTiempoId = context.UnidadTiempoReciboDepartamento.FirstOrDefault(x => x.NumeroRecibo == numeroRecibo).UnidadTiempoId; var utRecibo = new UnidadTiempoReciboDepartamento(); utRecibo.NumeroRecibo = numeroRecibo + 1; utRecibo.UnidadTiempoId = unidadTiempoId; utRecibo.Departamento = _nuevo; context.UnidadTiempoReciboDepartamento.Add(utRecibo); } else { Departamento _editado = context.Departamento.FirstOrDefault(x => x.DepartamentoId == ViewModel.DepartamentoId.Value); if (_editado != null) { _editado.Numero = ViewModel.Numero; try { _editado.Piso = Int32.Parse(ViewModel.Numero) / 100; } catch (Exception ex) { _editado.Piso = 0; } _editado.NombrePropietario = ViewModel.NombreReciboDepartamento == "P" ? true : false; _editado.NombreRecibo = _editado.NombrePropietario ? "PROPIETARIO" : "INQUILINO"; _editado.LecturaAgua = ViewModel.LecturaAgua; _editado.Estado = ConstantHelpers.EstadoActivo; _editado.FactorGasto = ViewModel.FactorGasto; _editado.Estacionamiento = ViewModel.Estacionamiento; _editado.Deposito = ViewModel.Deposito; _editado.CuotaDefault = ViewModel.CuotaDefault; _editado.DepartamentoM2 = ViewModel.DepartamentoM2; _editado.EstacionamientoM2 = ViewModel.EstacionamientoM2; _editado.DepositoM2 = ViewModel.DepositoM2; _editado.PDistribucion = ViewModel.PDistribucion; _editado.TotalM2 = ViewModel.AreaTotalM2; _editado.TipoInmuebleId = ViewModel.TipoInmuebleId; //_editado.NombreRecibo = ViewModel.NombreRecibo; _editado.AlertaMora = ViewModel.AlertaMoraDrop == "1" ? true : false; context.Entry(_editado).State = System.Data.Entity.EntityState.Modified; } } context.SaveChanges(); PostMessage(MessageType.Success); } catch { PostMessage(MessageType.Error); } return(RedirectToAction("LstDepartamento", new { DepartamentoId = ViewModel.DepartamentoId, EdificioId = ViewModel.EdificioId })); }