public IHttpActionResult GetByDocument(string pDocument) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oDealerDB = db.Dealer.Where(dlr => dlr.deal_document == pDocument && dlr.deal_state == true) .Select(dlr => new DealerViewModel { id = dlr.deal_id, document = dlr.deal_document, name = dlr.deal_name, state = dlr.deal_state, registrationDate = dlr.deal_registrationDate }).FirstOrDefault(); return(Ok(oDealerDB)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Delete(ContractViewModel pContract) { try { var rta = new ResponseApiViewModel(); using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { Contract oContractDB = db.Contract.Where(ct => ct.cntr_id == pContract.id).FirstOrDefault(); oContractDB.cntr_state = false; oContractDB.cntr_deleteDate = DateTime.Now; db.SaveChanges(); var contract_id = (int)pContract.id; this.deleteVehicleModelsToContract(contract_id); this.deleteVehiclesToContract(contract_id); rta.response = true; rta.message = "Se ha eliminado el contrato " + oContractDB.cntr_code + " de la base de datos"; return(Ok(rta)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Get() { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsDealer = db.Dealer.Where(dlr => dlr.deal_state == true) .Select(dlr => new DealerViewModel { id = dlr.deal_id, document = dlr.deal_document, name = dlr.deal_name, state = dlr.deal_state, registrationDate = dlr.deal_registrationDate }).ToList() .Take(100) .OrderByDescending(dlr => dlr.registrationDate); return(Ok(lsDealer)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Delete(DealerViewModel pDealer) { //TODO: Agregar usuario que hizo la acción try { ResponseApiViewModel rta = new ResponseApiViewModel(); using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oDealerDB = db.Dealer.Where(dlr => dlr.deal_id == pDealer.id).FirstOrDefault(); if (oDealerDB != null) { oDealerDB.deal_document = ""; oDealerDB.deal_state = false; oDealerDB.deal_deleteDate = DateTime.Now; db.SaveChanges(); rta.response = true; rta.message = "Se ha eliminado el concesionario: " + oDealerDB.deal_name + " de la base de datos"; return(Ok(rta)); } else { rta.response = false; rta.message = "No se encontró el concesionario: " + pDealer.document + " " + pDealer.name + " por lo tanto no se puede eliminar"; return(BadRequest(rta.message)); } } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult GetByDocument(string pDocument) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oClientDB = db.Client.Where(cl => cl.cli_document == pDocument && cl.cli_state == true) .Select(cl => new ClientViewModel { id = cl.cli_id, document = cl.cli_document, name = cl.cli_name, phone = cl.cli_phone, cellphone = cl.cli_cellphone, address = cl.cli_adress, website = cl.cli_website, city = (cl.cty_id != null) ? new CityViewModel { id = cl.cty_id, name = cl.Cities.cty_name, departmentId = cl.Cities.dpt_id } : null, state = cl.cli_state, registrationDate = cl.cli_registrationDate }).FirstOrDefault(); return(Ok(oClientDB)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult ValidateRoutineAndFrequency(int vehicleModel_id, int frequency_id) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var rta = new ResponseApiViewModel(); var oMaintenanceRoutine = db.maintenanceRoutine.Where(mr => mr.mr_state == true && mr.vm_id == vehicleModel_id && mr.fq_id == frequency_id).FirstOrDefault(); if (oMaintenanceRoutine != null) { rta.response = false; rta.message = "Ya existe una rutina para la línea seleccionada con ese kilometraje"; } else { rta.response = true; rta.message = ""; } return(Ok(rta)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Get() { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsClient = db.Client.Where(cl => cl.cli_state == true) .Select(cl => new ClientViewModel { id = cl.cli_id, document = cl.cli_document, name = cl.cli_name, phone = cl.cli_phone, cellphone = cl.cli_cellphone, address = cl.cli_adress, website = cl.cli_website, city = (cl.cty_id != null)? new CityViewModel { id = cl.cty_id, name = cl.Cities.cty_name, departmentId = cl.Cities.dpt_id } : null, state = cl.cli_state, registrationDate = cl.cli_registrationDate }).ToList() .Take(100) .OrderByDescending(cl => cl.registrationDate); return(Ok(lsClient)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Delete(ClientViewModel pClient) { //TODO: Agregar usuario que hizo la acción try { ResponseApiViewModel rta = new ResponseApiViewModel(); using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oClientDB = db.Client.Where(cl => cl.cli_id == pClient.id).FirstOrDefault(); if (oClientDB != null) { oClientDB.cli_document = ""; oClientDB.cli_state = false; oClientDB.cli_deleteDate = DateTime.Now; db.SaveChanges(); rta.response = true; rta.message = "Se ha eliminado el cliente: " + oClientDB.cli_name + " de la base de datos"; return(Ok(rta)); } else { rta.response = false; rta.message = "No se encontró el cliente: " + pClient.document + " " + pClient.name + " por lo tanto no se puede eliminar"; return(BadRequest(rta.message)); } } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public static int validateJobTitleId(string pJobTitleDescription) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { if (pJobTitleDescription.Trim() != "") { var jobTitle = db.JobTitlesClient.Where(jt => jt.jtcl_description.ToUpper() == pJobTitleDescription.ToUpper()).FirstOrDefault(); if (jobTitle == null) { JobTitlesClient job = new JobTitlesClient(); job.jtcl_description = pJobTitleDescription.ToUpper(); job.jtcl_state = true; db.JobTitlesClient.Add(job); db.SaveChanges(); jobTitle = db.JobTitlesClient.Where(jt => jt.jtcl_description.ToUpper() == pJobTitleDescription.ToUpper()).FirstOrDefault(); } return(jobTitle.jtcl_id); } else { return(0); } } } catch (Exception ex) { return(0); } }
public static int GetMaintenanceItemId(string code) { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oItemDB = db.MaintenanceItem.Where(itm => itm.mi_code == code).OrderByDescending(itm => itm.mi_id).FirstOrDefault(); return(oItemDB.mi_id); } }
public static bool DeleteMaintenanceItemOfVehicleTypesAndModels(int itemId) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsItemByType = db.MaintenanceItemsByVehicleTypes.Where(it => it.mi_id == itemId).ToList(); if (lsItemByType.Count > 0) { db.MaintenanceItemsByVehicleTypes.RemoveRange(lsItemByType); db.SaveChanges(); } var lsItemByModel = db.MaintenanceItemsByVehicleModels.Where(it => it.mi_id == itemId).ToList(); if (lsItemByModel.Count > 0) { db.MaintenanceItemsByVehicleModels.RemoveRange(lsItemByModel); db.SaveChanges(); } } return(true); } catch (Exception ex) { throw new Exception(ex.Message); } }
private List <VehicleModelViewModel> getLisVehicleModelsByContrat(int contract_id) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsVehicleModels = db.VehicleModelsByContract.Where(vmBCntr => vmBCntr.cntr_id == contract_id) .Select(vm => new VehicleModelViewModel { id = vm.vm_id, shortName = vm.VehicleModel.vm_shortName, longName = vm.VehicleModel.vm_longName, type = new VehicleTypeViewModel { id = vm.VehicleModel.vt_id, name = vm.VehicleModel.VehicleType.vt_name }, brand = new BrandViewModel { id = vm.VehicleModel.vb_id, name = vm.VehicleModel.VehicleBrand.vb_name } }).ToList(); return(lsVehicleModels); } } catch (Exception ex) { throw new Exception(ex.Message); } }
public IHttpActionResult GetById(int pId) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oContact = db.Contact .Where(cnt => cnt.cnt_id == pId) .Select(cnt => new ContactViewModel { id = cnt.cnt_id, name = cnt.cnt_name, lastname = cnt.cnt_lastName, phone = cnt.cnt_phone, cellphone = cnt.cnt_cellPhone, email = cnt.cnt_email, address = cnt.cnt_adress, city = (cnt.cty_id != null) ? new CityViewModel { id = cnt.cty_id, name = cnt.Cities.cty_name, departmentId = cnt.Cities.dpt_id } : null, jobTitle = (cnt.jtcl_id != null) ? new JobTitleViewModel { id = cnt.jtcl_id, description = cnt.JobTitlesClient.jtcl_description } : null, registrationDate = cnt.cnt_registrationDate }).FirstOrDefault(); return(Ok(oContact)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public static bool vehicleExists(VehicleViewModel pVehicle) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var vehicle = new Vehicle(); if (pVehicle.chasisCode != "") { vehicle = db.Vehicle.Where(vh => vh.veh_licensePlate == pVehicle.licensePlate || vh.veh_chasisCode == pVehicle.chasisCode).FirstOrDefault(); } else { vehicle = db.Vehicle.Where(vh => vh.veh_licensePlate == pVehicle.licensePlate).FirstOrDefault(); } if (vehicle != null) { return(true); } else { return(false); } } } catch (Exception ex) { throw new Exception(ex.InnerException.Message); } }
public ResponseApiViewModel SetPricesByContract(PricesByContractViewModel pricesByContract) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { ResponseApiViewModel rta = new ResponseApiViewModel(); string transactionType = ""; int contract_id = (int)pricesByContract.contract.id; var lsOldPrices = db.PricesByContract.Where(pbc => pbc.cntr_id == pricesByContract.contract.id).ToList(); IEnumerable <MaintenanceItemViewModel> lsNewItems = from lsItems in pricesByContract.lsMaintenanceItems where !lsOldPrices.Any(itm => itm.mi_id == lsItems.id) select lsItems; if (lsOldPrices.Count > 0) { foreach (var oldPrice in lsOldPrices) { var newPrice = pricesByContract.lsMaintenanceItems.Find(it => it.id == oldPrice.mi_id); if (oldPrice.mi_referencePrice != newPrice.referencePrice) { transactionType = "UPDATE"; PricesByContract priceByContract = db.PricesByContract.Where(pbc => pbc.pbc_id == oldPrice.pbc_id).FirstOrDefault(); this.setDataPricesByContract(contract_id, (int)oldPrice.mi_id, (float)newPrice.referencePrice, transactionType, ref priceByContract); db.SaveChanges(); } foreach (var item in lsNewItems) { PricesByContract priceByContract = new PricesByContract(); this.setDataPricesByContract((int)pricesByContract.contract.id, (int)item.id, (float)item.referencePrice, "INSERT", ref priceByContract); db.PricesByContract.Add(priceByContract); db.SaveChanges(); } } } else { transactionType = "INSERT"; foreach (var item in pricesByContract.lsMaintenanceItems) { PricesByContract priceByContract = new PricesByContract(); this.setDataPricesByContract(contract_id, (int)item.id, (float)item.referencePrice, transactionType, ref priceByContract); db.PricesByContract.Add(priceByContract); db.SaveChanges(); } } rta.response = true; rta.message = "Se han asignado los precios del contrato: " + pricesByContract.contract.code; return(rta); } } catch (Exception ex) { return(null); } }
public IHttpActionResult Delete(UserLoginViewModel pUser) { //TODO: Agregar usuario que hizo la acción try { ResponseApiViewModel rta = new ResponseApiViewModel(); using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oUserDB = db.Users.Where(us => us.usr_id == pUser.idUser).FirstOrDefault(); if (oUserDB != null) { //oUserDB.cli_document = ""; //oUserDB.cli_state = false; //oUserDB.cli_deleteDate = DateTime.Now; db.Users.Remove(oUserDB); db.SaveChanges(); rta.response = true; rta.message = "Se ha eliminado el usuario: " + oUserDB.usr_name + " de la base de datos"; return(Ok(rta)); } else { rta.response = false; rta.message = "No se encontró el usuario por lo tanto no se puede eliminar"; return(BadRequest(rta.message)); } } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
private UserAccessViewModel buildGroup(UserAccessViewModel user) { try { var group = new Group(); user.group = new Group(); using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { // group data group = db.Groups.Where(grp => grp.grp_id == user.id_group) .Select(grp => new Group { id_group = grp.grp_id, groupName = grp.grp_name }).FirstOrDefault(); user.group = group; } } catch (Exception ex) { return(new UserAccessViewModel()); } return(user); }
public IHttpActionResult ValidatePaymentVsConsumedQuota(int pClient_id, double paymentValue) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var financialInformation = db.FinancialInformationByClient.Where(fi => fi.ficl_state == true && fi.cli_id == pClient_id).FirstOrDefault(); var rta = new ResponseApiViewModel(); decimal consumedQuotaRounded = Convert.ToDecimal(string.Format("{0:F2}", financialInformation.ficl_consumedQuota)); decimal paymentRounded = Convert.ToDecimal(string.Format("{0:F2}", paymentValue)); if (paymentRounded > consumedQuotaRounded) { rta.response = false; rta.message = "El pago no puede superar el valor del cupo consumido"; } else { rta.response = true; rta.message = "El pago que va a generar es válido"; } return(Ok(rta)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult GetById(int pId) { try { var oUserDB = new UserAccessViewModel(); var access = new List <GroupModuleAction>(); using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { oUserDB = db.Users.Where(us => us.usr_id == pId) .Select(usr => new UserAccessViewModel { id_user = usr.usr_id, user = usr.usr_name, id_group = usr.grp_id }).FirstOrDefault(); access = db.GroupModuleAction.Where(gma => gma.grp_id.Equals(oUserDB.id_group)).ToList(); } oUserDB = buildGroup(oUserDB); oUserDB = buildModulesActions(oUserDB, access); return(Ok(oUserDB)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult getTransactionStates() { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsStates = db.transactionState.Where(st => st.trxst_state == true) .Select(st => new TransactionStateViewModel { id = st.trxst_id, name = st.trxst_name, description = st.trxst_description }).ToList(); var pendingState = new TransactionStateViewModel() { id = 0, name = "PENDIENTE" }; lsStates.Add(pendingState); return(Ok(lsStates)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult GetClientsWithoutQuota() { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsClientsWithoutQuota = db.STRPRC_GET_CLIENTS_WITHOUT_QUOTA(); List <ClientViewModel> lsClient = new List <ClientViewModel>(); foreach (var client in lsClientsWithoutQuota) { var clientTmp = new ClientViewModel(); clientTmp.id = client.cli_id; clientTmp.document = client.cli_document; clientTmp.name = client.cli_name; clientTmp.phone = client.cli_phone; clientTmp.cellphone = client.cli_cellphone; clientTmp.address = client.cli_adress; clientTmp.website = client.cli_website; clientTmp.city = (client.cty_id != null) ? new CityViewModel { id = client.cty_id } : null; lsClient.Add(clientTmp); } return(Ok(lsClient)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Update(BranchViewModel pBranch) { try { ResponseApiViewModel rta = new ResponseApiViewModel(); using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oBranchDB = db.branch.Where(bra => bra.bra_id == pBranch.id).FirstOrDefault(); oBranchDB.bra_name = pBranch.name; oBranchDB.bra_phone = pBranch.phone; oBranchDB.bra_cellphone = pBranch.cellphone; oBranchDB.bra_adress = pBranch.address; oBranchDB.cty_id = (pBranch.city != null) ? pBranch.city.id : null; if (pBranch.Client_id != 0) { oBranchDB.cli_id = pBranch.Client_id; } if (pBranch.Dealer_id != 0) { oBranchDB.deal_id = pBranch.Dealer_id; } db.SaveChanges(); rta.response = true; rta.message = "Se ha actualizado la sucursal: " + oBranchDB.bra_name; return(Ok(rta)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
private List <TransactionObservationViewModel> getTransactionObservations(int trx_id) { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsTrxRelated = db.transactionDetail .Where(trx => trx.trx_relation_id == trx_id) .Select(trx => trx.trx_id).ToList(); lsTrxRelated.Add(trx_id); var lsObservations = db.observationsByTransaction.Where(trx => lsTrxRelated.Any(tr => tr == trx.trx_id)) .Select(trx => new TransactionObservationViewModel { id = trx.obstrx_id, description = trx.obstrx_description, registrationDate = trx.obstrx_registrationDate, user = new UserAccessViewModel() { id_user = trx.usr_id, name = trx.Users.usr_firstName, lastName = trx.Users.usr_lastName } }).OrderBy(trx => trx.registrationDate) .ToList(); return(lsObservations); } }
public IHttpActionResult GetById(int pId) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oBranch = db.branch .Where(bra => bra.bra_id == pId) .Select(bra => new BranchViewModel { id = bra.bra_id, name = bra.bra_name, phone = bra.bra_phone, cellphone = bra.bra_cellphone, address = bra.bra_adress, city = (bra.cty_id != null) ? new CityViewModel { id = bra.cty_id, name = bra.Cities.cty_name, departmentId = bra.Cities.dpt_id } : null, registrationDate = bra.bra_registrationDate }).FirstOrDefault(); return(Ok(oBranch)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult GetById(int pMovement_id) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var oMovement = db.Movement.Where(mv => mv.m_state == true && mv.m_id == pMovement_id) .Select(mv => new MovementViewModel { id = mv.m_id, name = mv.m_name, description = mv.m_description, type = new MovementTypeViewModel { id = mv.mtp_id, name = mv.MovementType.mtp_name, description = mv.MovementType.mtp_description }, state = mv.m_state, registrationDate = mv.m_registrationDate }).FirstOrDefault(); return(Ok(oMovement)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Get() { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsMovements = db.Movement.Where(mv => mv.m_state == true) .Select(mv => new MovementViewModel { id = mv.m_id, name = mv.m_name, description = mv.m_description, type = new MovementTypeViewModel { id = mv.mtp_id, name = mv.MovementType.mtp_name, description = mv.MovementType.mtp_description }, state = mv.m_state, registrationDate = mv.m_registrationDate }).ToList(); return(Ok(lsMovements)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Delete(MovementViewModel pMovement) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var rta = new ResponseApiViewModel(); var oMovementDB = db.Movement.Where(mv => mv.m_id == pMovement.id).FirstOrDefault(); oMovementDB.m_state = false; oMovementDB.m_deleteDate = DateTime.Now; db.SaveChanges(); rta.response = true; rta.message = "Se ha eliminado el movimiento: " + pMovement.name; return(Ok(rta)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IHttpActionResult Delete(VehicleViewModel pVehicle) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var rta = new ResponseApiViewModel(); var oVehicleToDelete = db.Vehicle.Where(vh => vh.veh_id == pVehicle.id).FirstOrDefault(); oVehicleToDelete.veh_licensePlate = ""; oVehicleToDelete.veh_chasisCode = ""; oVehicleToDelete.veh_state = false; oVehicleToDelete.veh_deleteDate = DateTime.Now; db.SaveChanges(); rta.response = true; rta.message = "Se ha eliminado el vehículo: " + oVehicleToDelete.veh_licensePlate + " de la base de datos"; return(Ok(rta)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
private List <MaintenanceItemViewModel> getTransactionItems(int trx_id) { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsMaintenanceItems = db.transactionItems.Where(trx => trx.trx_id == trx_id) .Select(mi => new MaintenanceItemViewModel { id = mi.mi_id, code = mi.MaintenanceItem.mi_code, name = mi.MaintenanceItem.mi_name, type = new TypeOfMaintenanceItemViewModel() { id = mi.MaintenanceItem.tmi_id, name = mi.MaintenanceItem.TypeOfMaintenanceItem.tmi_name }, presentationUnit = new PresentationUnitViewModel() { id = mi.MaintenanceItem.pu_id, longName = mi.MaintenanceItem.PresentationUnit.pu_longName, shortName = mi.MaintenanceItem.PresentationUnit.pu_shortName }, category = new CategoryViewModel() { id = mi.MaintenanceItem.mict_id, name = mi.MaintenanceItem.MaintenanceItemCategory.mict_name }, referencePrice = mi.mi_referencePrice, valueWithoutDiscount = (float)mi.mi_valueWithoutDiscount, discountValue = (float)mi.mi_discountValue, valueWithDiscountWithoutTaxes = (float)mi.mi_valueWithDiscountWithoutTaxes, taxesValue = (float)mi.mi_taxesValue, amount = (float)mi.mi_amount, handleTax = mi.MaintenanceItem.mi_handleTax }).ToList(); foreach (var maintenanceItem in lsMaintenanceItems) { if (maintenanceItem.handleTax == true) { var lsTaxes = db.TaxesByMaintenanceItem.Where(tx => tx.mi_id == maintenanceItem.id) .Select(tx => new TaxViewModel { id = tx.tax_id, name = tx.Taxes.tax_name, description = tx.Taxes.tax_desccription, percentValue = tx.Taxes.tax_percentValue, registrationDate = tx.Taxes.tax_registrationDate }).ToList(); if (lsTaxes != null) { maintenanceItem.lsTaxes = lsTaxes; } } } return(lsMaintenanceItems); } }
public IHttpActionResult GetContractByVehicleId(int vehicle_id) { try { using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) { var lsContracts = db.VehiclesByContract.Where(vh => vh.veh_id == vehicle_id) .Select(ctr => ctr.cntr_id) .ToList(); var contract = db.Contract.Where(ct => ct.cntr_state == true && lsContracts.Any(ctr => ct.cntr_id == ctr)) .Select(ct => new ContractViewModel { id = ct.cntr_id, consecutive = ct.cntr_consecutive, code = ct.cntr_code, name = ct.cntr_name, observation = ct.cntr_observation, dealer = new DealerViewModel { id = ct.deal_id, document = ct.Dealer.deal_document, name = ct.Dealer.deal_name }, client = new ClientViewModel { id = ct.cli_id, document = ct.Client.cli_document, name = ct.Client.cli_name }, contractState = new ContractStateViewModel { id = ct.cntrst_id, name = ct.ContractState.cntrst_name, description = ct.ContractState.cntrst_description }, discountType = new DiscountTypeViewModel { id = ct.dst_id, name = ct.DiscountType.dst_name }, discountValue = ct.cntr_discountValue, amountOfMaintenances = ct.cntr_amountOfMaintenances, amountVehicles = ct.cntr_amountVehicles, startingDate = ct.cntr_startingDate, endingDate = ct.cntr_endingDate, duration = ct.cntr_duration, registrationDate = ct.cntr_registrationDate }).OrderByDescending(ctr => ctr.registrationDate) .FirstOrDefault(); return(Ok(contract)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }