示例#1
0
        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 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));
     }
 }
示例#3
0
        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 Insert(UserLoginViewModel pUser)
        {
            //TODO: Agregar usuario que hizo la acción
            ResponseApiViewModel rta = new ResponseApiViewModel();

            try
            {
                Users UserToInsert    = UserLoginViewModel.PrepareUserToInsertDB(pUser);
                bool  UserWasInserted = UserLoginViewModel.InsertIntoDB(UserToInsert);

                if (UserWasInserted)
                {
                    rta.response = true;
                    rta.message  = "El usuario " + pUser.user + " fue insertado correctamente en la base de datos.";
                    return(Ok(rta));
                }
                else
                {
                    rta.response = false;
                    rta.message  = "Ha ocurrido un error intentado insertar el usuario:  " + pUser.user;
                    return(BadRequest(rta.message));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#5
0
        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));
            }
        }
示例#6
0
 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));
     }
 }
示例#7
0
        public IHttpActionResult Insert(DealerViewModel pDealer)
        {
            //TODO: Agregar usuario que hizo la acción
            ResponseApiViewModel rta = new ResponseApiViewModel();

            try
            {
                Dealer dealerToInsert    = DealerViewModel.PrepareDealerToInsertDB(pDealer);
                bool   dealerWasInserted = DealerViewModel.InsertIntoDB(dealerToInsert);

                if (dealerWasInserted)
                {
                    rta.response = true;
                    rta.message  = "El concesionario " + pDealer.document + " fue insertado correctamente en la base de datos.";
                    return(Ok(rta));
                }
                else
                {
                    rta.response = false;
                    rta.message  = "Ha ocurrido un error intentado insertar el dealente:  " + pDealer.document;
                    return(BadRequest(rta.message));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#8
0
 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));
     }
 }
示例#9
0
        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));
            }
        }
示例#10
0
        public IHttpActionResult Insert(ClientViewModel pClient)
        {
            //TODO: Agregar usuario que hizo la acción
            ResponseApiViewModel rta = new ResponseApiViewModel();

            try
            {
                Client ClientToInsert    = ClientViewModel.PrepareCLientToInsertDB(pClient);
                bool   ClientWasInserted = ClientViewModel.InsertIntoDB(ClientToInsert);

                if (ClientWasInserted)
                {
                    rta.response = true;
                    rta.message  = "El cliente " + pClient.document + " fue insertado correctamente en la base de datos.";
                    return(Ok(rta));
                }
                else
                {
                    rta.response = false;
                    rta.message  = "Ha ocurrido un error intentado insertar el cliente:  " + pClient.document;
                    return(BadRequest(rta.message));
                }
            }
            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));
            }
        }
        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 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));
     }
 }
示例#14
0
        public IHttpActionResult Update(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 || cl.cli_document == pClient.document)
                                    .FirstOrDefault();
                    if (oClientDB != null)
                    {
                        if (pClient.document.Trim() == "")
                        {
                            throw new Exception("El documento del cliente no es válido");
                        }

                        long numberOfDocument;
                        bool documentIsValid = long.TryParse(pClient.document, out numberOfDocument);

                        if (!documentIsValid)
                        {
                            throw new Exception("El documento del cliente no es válido, intente ingresarlo sin dígito de verificación, sin puntos ni comas.");
                        }

                        if (pClient.name.Trim() == "")
                        {
                            throw new Exception("El nombre del cliente es obligatorio, no se puede insertar a la base de datos sin esta información");
                        }

                        oClientDB.cli_document   = pClient.document;
                        oClientDB.cli_name       = pClient.name.ToUpper();
                        oClientDB.cli_phone      = pClient.phone;
                        oClientDB.cli_cellphone  = pClient.cellphone;
                        oClientDB.cli_adress     = pClient.address.ToUpper();
                        oClientDB.cli_website    = (pClient.website != null) ? pClient.website.ToUpper() : null;
                        oClientDB.cty_id         = (pClient.city != null) ? pClient.city.id : null;
                        oClientDB.cli_updateDate = DateTime.Now;


                        db.SaveChanges();
                        rta.response = true;
                        rta.message  = "Se ha actualizado el cliente: " + pClient.document + " - " + pClient.name;
                        return(Ok(rta));
                    }
                    else
                    {
                        rta.response = false;
                        rta.message  = "No se encontró el cliente: " + pClient.document + " - " + pClient.name + " en la base de datos, por favor rectifique los datos";
                        return(BadRequest(rta.message));
                    }
                }
            }
            catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }
示例#15
0
        public IHttpActionResult Update(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 || dlr.deal_document == pDealer.document)
                                    .FirstOrDefault();
                    if (oDealerDB != null)
                    {
                        if (pDealer.document.Trim() == "")
                        {
                            throw new Exception("El documento del concesionario no es válido");
                        }

                        long numberOfDocument;
                        bool documentIsValid = long.TryParse(pDealer.document, out numberOfDocument);

                        if (!documentIsValid)
                        {
                            throw new Exception("El documento del concesionario no es válido, intente ingresarlo sin dígito de verificación, sin puntos ni comas.");
                        }

                        if (pDealer.name.Trim() == "")
                        {
                            throw new Exception("El nombre del concesionario es obligatorio, no se puede insertar a la base de datos sin esta información");
                        }

                        oDealerDB.deal_document   = pDealer.document;
                        oDealerDB.deal_name       = pDealer.name.ToUpper();
                        oDealerDB.deal_updateDate = DateTime.Now;
                        db.SaveChanges();
                        rta.response = true;
                        rta.message  = "Se ha actualizado el concesionario: " + pDealer.document + " - " + pDealer.name;
                        return(Ok(rta));
                    }
                    else
                    {
                        rta.response = false;
                        rta.message  = "No se encontró el concesionario: " + pDealer.document + " - " + pDealer.name + " en la base de datos, por favor rectifique los datos";
                        return(BadRequest(rta.message));
                    }
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public IHttpActionResult Update(UserLoginViewModel pUser)
        {
            try
            {
                ResponseApiViewModel rta = new ResponseApiViewModel();
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    var oUserDB = db.Users.Where(us => us.usr_id == pUser.idUser || us.usr_name == pUser.user)
                                  .FirstOrDefault();
                    if (oUserDB != null)
                    {
                        if (pUser.user.Trim() == "")
                        {
                            throw new Exception("El name del usuario no es válido");
                        }

                        if (pUser.password.Trim() == "")
                        {
                            throw new Exception("El password del usuario no es válido");
                        }

                        if (pUser.group == 0)
                        {
                            throw new Exception("El usuario debe pertenecer a un grupo");
                        }

                        oUserDB.usr_name     = pUser.user;
                        oUserDB.usr_password = pUser.password;
                        oUserDB.grp_id       = pUser.group;

                        db.SaveChanges();
                        rta.response = true;
                        rta.message  = "Se ha actualizado el usuario: " + pUser.user;
                        return(Ok(rta));
                    }
                    else
                    {
                        rta.response = false;
                        rta.message  = "No se encontró el usuario: " + pUser.user + " en la base de datos, por favor rectifique los datos";
                        return(BadRequest(rta.message));
                    }
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#17
0
        public IHttpActionResult Update(ContactViewModel pContact)
        {
            try
            {
                ResponseApiViewModel rta = new ResponseApiViewModel();
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    var oContactDB = db.Contact.Where(cnt => cnt.cnt_id == pContact.id).FirstOrDefault();
                    oContactDB.cnt_name      = pContact.name;
                    oContactDB.cnt_lastName  = pContact.lastname;
                    oContactDB.cnt_phone     = pContact.phone;
                    oContactDB.cnt_cellPhone = pContact.cellphone;
                    oContactDB.cnt_email     = pContact.email;
                    oContactDB.cnt_adress    = pContact.address;
                    if (pContact.jobTitle != null)
                    {
                        var jobId = ContactViewModel.validateJobTitleId(pContact.jobTitle.description);
                        if (jobId != 0)
                        {
                            oContactDB.jtcl_id = jobId;
                        }
                    }
                    oContactDB.cty_id = (pContact.city != null) ? pContact.city.id : null;
                    oContactDB.bra_id = (pContact.branch != null) ? pContact.branch.id : null;
                    if (pContact.Client_id != 0)
                    {
                        oContactDB.cli_id = pContact.Client_id;
                    }

                    if (pContact.Dealer_id != 0)
                    {
                        oContactDB.deal_id = pContact.Dealer_id;
                    }


                    db.SaveChanges();
                    rta.response = true;
                    rta.message  = "Se ha actualizado el contacto: " + oContactDB.cnt_name + " " + oContactDB.cnt_lastName;
                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#18
0
 public IHttpActionResult Delete(ContactViewModel pContact)
 {
     try
     {
         ResponseApiViewModel rta = new ResponseApiViewModel();
         using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) {
             var oContactDB = db.Contact.Where(cnt => cnt.cnt_id == pContact.id).FirstOrDefault();
             db.Contact.Remove(oContactDB);
             db.SaveChanges();
             rta.response = true;
             rta.message  = "Se ha eliminado el contacto: " + oContactDB.cnt_name + " " + oContactDB.cnt_lastName;
             return(Ok(rta));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
示例#19
0
        public IHttpActionResult Update(ContractViewModel pContract)
        {
            try
            {
                var transactionType = "UPDATE";
                var rta             = new ResponseApiViewModel();

                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    Contract oContractDB = db.Contract.Where(ct => ct.cntr_id == pContract.id).FirstOrDefault();
                    this.setDataToContract(pContract, ref oContractDB, transactionType);

                    db.SaveChanges();

                    var contract_id = (int)pContract.id;
                    this.deleteVehicleModelsToContract(contract_id);
                    this.deleteVehiclesToContract(contract_id);
                    this.setVehicleModelsToContract(contract_id, pContract.lsVehicleModels);
                    this.setVehicleToContract(contract_id, pContract.lsVehicles);


                    PricesByContractViewModel pricesByContract = new PricesByContractViewModel();
                    pContract.id = contract_id;
                    pricesByContract.contract           = pContract;
                    pricesByContract.lsMaintenanceItems = pContract.lsMaintenanceItems;

                    var response = this.MaintenanceItemController.SetPricesByContract(pricesByContract);
                    if (response.response)
                    {
                        rta.response = true;
                        rta.message  = "Se ha actualizado el contrato " + oContractDB.cntr_code;
                    }


                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#20
0
 public IHttpActionResult Insert(ContactViewModel pContact)
 {
     try
     {
         ResponseApiViewModel rta = new ResponseApiViewModel();
         using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
         {
             Contact oContactDB = ContactViewModel.setDataContact(pContact);
             db.Contact.Add(oContactDB);
             db.SaveChanges();
             rta.response = true;
             rta.message  = "Contacto insertado correctamente a la bd y es asociado al cliente: [" + pContact.Client_id + "] ó al concesionario: [" + pContact.Dealer_id + "]";
             return(Ok(rta));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult Insert(BranchViewModel pBranch)
 {
     try
     {
         ResponseApiViewModel rta = new ResponseApiViewModel();
         using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
         {
             branch oBranchDB = BranchViewModel.setDataBranch(pBranch);
             db.branch.Add(oBranchDB);
             db.SaveChanges();
             rta.response = true;
             rta.message  = "Sucursal insertada correctamente a la bd y es asociada al cliente: [" + pBranch.Client_id + "] ó al concesionario: [" + pBranch.Dealer_id + "]";
             return(Ok(rta));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
示例#22
0
 public IHttpActionResult Delete(MaintenanceRoutineViewModel pRoutine)
 {
     try
     {
         using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) {
             var oRoutineDb = db.maintenanceRoutine.Where(mr => mr.mr_id == pRoutine.id).FirstOrDefault();
             oRoutineDb.mr_state      = false;
             oRoutineDb.mr_deleteDate = DateTime.Now;
             db.SaveChanges();
             var rta = new ResponseApiViewModel();
             rta.response = true;
             rta.message  = "Se ha eliminado de la base de datos la rutina: " + pRoutine.name;
             return(Ok(rta));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult Delete(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();
             db.branch.Remove(oBranchDB);
             db.SaveChanges();
             rta.response = true;
             rta.message  = "Se ha eliminado la sucursal " + oBranchDB.bra_name;
             return(Ok(rta));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
        public IHttpActionResult Update(VehicleViewModel pVehicle)
        {
            try
            {
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    var rta        = new ResponseApiViewModel();
                    var oVehicleDB = db.Vehicle.Where(vh => vh.veh_id == pVehicle.id).FirstOrDefault();

                    if (pVehicle.licensePlate.Trim() == "")
                    {
                        throw new Exception("El campo placa no puede ser vacío");
                    }

                    var oOtherVehicle = db.Vehicle.Where(vh => vh.veh_licensePlate == pVehicle.licensePlate && vh.veh_id != pVehicle.id).FirstOrDefault();

                    if (oOtherVehicle != null)
                    {
                        throw new Exception("La placa con la cual intenta actualizar el vehículo, ya se encuentra almacenada en la base de datos");
                    }

                    oVehicleDB.veh_licensePlate = pVehicle.licensePlate;
                    oVehicleDB.veh_chasisCode   = pVehicle.chasisCode;
                    oVehicleDB.vm_id            = (pVehicle.vehicleModel != null) ? pVehicle.vehicleModel.id : null;
                    oVehicleDB.veh_year         = pVehicle.year;
                    oVehicleDB.veh_mileage      = pVehicle.mileage;
                    oVehicleDB.vs_id            = (pVehicle.vehicleState != null) ? pVehicle.vehicleState.id : null;
                    oVehicleDB.veh_updateDate   = DateTime.Now;
                    db.SaveChanges();

                    rta.response = true;
                    rta.message  = "El vehículo: " + pVehicle.licensePlate + " ha sido actualizado correctamente en la base de datos";
                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
 public IHttpActionResult Insert(VehicleViewModel pVehicle)
 {
     try
     {
         var     rta        = new ResponseApiViewModel();
         Vehicle oVehicleDB = VehicleViewModel.setDataToVehicle(pVehicle);
         rta.response = VehicleViewModel.InsertIntoDB(oVehicleDB);
         if (rta.response)
         {
             rta.message = "El vehículo con placas: " + pVehicle.licensePlate + " fue almacenado correctamente en la base de datos";
             return(Ok(rta));
         }
         else
         {
             return(BadRequest("Ocurrió un error al intertar almacenar el vehículo en la base de datos"));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
示例#26
0
        public IHttpActionResult Update(MovementViewModel pMovement)
        {
            try
            {
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    var transactionType = "UPDATE";
                    var rta             = new ResponseApiViewModel();
                    var oMovementDB     = db.Movement.Where(mv => mv.m_id == pMovement.id).FirstOrDefault();
                    this.setDataMovement(pMovement, transactionType, ref oMovementDB);
                    db.SaveChanges();

                    rta.response = true;
                    rta.message  = "Se ha actualizado el movimiento: " + pMovement.name;

                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#27
0
        public IHttpActionResult Insert(ContractViewModel pContract)
        {
            try
            {
                var      transactionType = "INSERT";
                var      rta             = new ResponseApiViewModel();
                Contract oContractDB     = new Contract();
                this.setDataToContract(pContract, ref oContractDB, transactionType);
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    db.Contract.Add(oContractDB);
                    db.SaveChanges();

                    var contract_id = db.Contract.Where(ctr => oContractDB.cntr_code == ctr.cntr_code).FirstOrDefault().cntr_id;
                    this.setVehicleModelsToContract(contract_id, pContract.lsVehicleModels);
                    this.setVehicleToContract(contract_id, pContract.lsVehicles);

                    PricesByContractViewModel pricesByContract = new PricesByContractViewModel();
                    pContract.id = contract_id;
                    pricesByContract.contract           = pContract;
                    pricesByContract.lsMaintenanceItems = pContract.lsMaintenanceItems;

                    var response = this.MaintenanceItemController.SetPricesByContract(pricesByContract);
                    if (response.response)
                    {
                        rta.response = true;
                        rta.message  = "Se ha insertado de manera correcta el contrato " + oContractDB.cntr_code;
                    }

                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public IHttpActionResult Delete(MaintenanceItemViewModel pItem)
        {
            try
            {
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    ResponseApiViewModel rta = new ResponseApiViewModel();
                    var oItemDB = db.MaintenanceItem.Where(it => it.mi_id == pItem.id).FirstOrDefault();
                    oItemDB.mi_state      = false;
                    oItemDB.mi_deleteDate = DateTime.Now;
                    db.SaveChanges();

                    MaintenanceItemViewModel.DeleteMaintenanceItemOfVehicleTypesAndModels((int)pItem.id);

                    rta.response = true;
                    rta.message  = "Se ha eliminado el artículo de mantenimiento: " + pItem.name + " de la base de datos";
                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#29
0
        public IHttpActionResult Insert(MovementViewModel pMovement)
        {
            try
            {
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    var transactionType = "INSERT";
                    var rta             = new ResponseApiViewModel();
                    var oMovementDB     = new Movement();
                    this.setDataMovement(pMovement, transactionType, ref oMovementDB);
                    db.Movement.Add(oMovementDB);
                    db.SaveChanges();

                    rta.response = true;
                    rta.message  = "Se ha insertado el movimiento: " + pMovement.name;

                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public IHttpActionResult ProcessTransaction(TransactionViewModel transaction)
        {
            try
            {
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    var rta = new ResponseApiViewModel();

                    var consecutive = 0;

                    decimal valueWithoutDscount           = Convert.ToDecimal(string.Format("{0:F2}", transaction.valueWithoutDiscount));
                    decimal discountValue                 = Convert.ToDecimal(string.Format("{0:F2}", transaction.discountValue));
                    decimal taxesValue                    = Convert.ToDecimal(string.Format("{0:F2}", transaction.taxesValue));
                    decimal valueWithDiscountWithoutTaxes = Convert.ToDecimal(string.Format("{0:F2}", transaction.valueWithDiscountWithoutTaxes));
                    decimal valueTRX = Convert.ToDecimal(string.Format("{0:F2}", transaction.value));

                    consecutive = db.STRPRC_PROCESS_TRANSACTION_V2(
                        transaction.client.id,
                        transaction.movement.id,
                        valueWithoutDscount,
                        discountValue,
                        valueWithDiscountWithoutTaxes,
                        taxesValue,
                        valueTRX,
                        (transaction.transactionState != null) ? transaction.transactionState.id : null,
                        transaction.usu_id
                        );

                    if (consecutive > 0)
                    {
                        var trx_tmp = db.transactions.Where(trx => trx.cli_id == transaction.client.id && trx.m_id == transaction.movement.id)
                                      .OrderByDescending(trx => trx.trx_registrationDate).FirstOrDefault();

                        if (trx_tmp != null)
                        {
                            var trx_id = trx_tmp.trx_id;


                            transaction.id = trx_id;
                            rta.response   = true;
                            rta.message    = "Se ha procesado la: " + transaction.movement.name.ToLower() + " correctamente";


                            if (transaction.headerDetails != null)
                            {
                                transactionDetail trxDetail = new transactionDetail();
                                trxDetail.trx_id          = trx_id;
                                trxDetail.trx_relation_id = (transaction.headerDetails.relatedTransaction != null) ? transaction.headerDetails.relatedTransaction.id : null;
                                if (transaction.headerDetails.vehicle != null)
                                {
                                    VehicleController vehController = new VehicleController();
                                    vehController.Update(transaction.headerDetails.vehicle);
                                }
                                trxDetail.veh_id  = (transaction.headerDetails.vehicle != null) ? transaction.headerDetails.vehicle.id : null;
                                trxDetail.deal_id = (transaction.headerDetails.dealer != null) ? transaction.headerDetails.dealer.id : null;
                                trxDetail.bra_id  = (transaction.headerDetails.branch != null) ? transaction.headerDetails.branch.id : null;
                                trxDetail.mr_id   = (transaction.headerDetails.maintenanceRoutine != null) ? transaction.headerDetails.maintenanceRoutine.id : null;
                                trxDetail.cntr_id = (transaction.headerDetails.contract != null) ? transaction.headerDetails.contract.id : null;

                                if (transaction.movement.id == (int)EnumMovement.APROBACION_ORDEN_DE_TRABAJO)
                                {
                                    var trxRelated = db.transactions.Where(tr => tr.trx_id == trxDetail.trx_relation_id).FirstOrDefault();
                                    trxRelated.trxst_id = (int)EnumTransactionState.APROBADA;
                                    var trxRelatedDetail = db.transactionDetail.Where(trx => trx.trx_id == trxDetail.trx_relation_id).FirstOrDefault();
                                    trxRelatedDetail.usu_approbation     = transaction.usu_id;
                                    trxRelatedDetail.trx_approbationDate = DateTime.Now;
                                }

                                if (transaction.movement.id == (int)EnumMovement.CANCELACION_ORDEN_DE_TRABAJO)
                                {
                                    var trxRelated = db.transactions.Where(tr => tr.trx_id == trxDetail.trx_relation_id).FirstOrDefault();
                                    trxRelated.trxst_id = (int)EnumTransactionState.RECHAZADA;
                                    var trxRelatedDetail = db.transactionDetail.Where(trx => trx.trx_id == trxDetail.trx_relation_id).FirstOrDefault();
                                    trxRelatedDetail.usu_reject     = transaction.usu_id;
                                    trxRelatedDetail.trx_rejectDate = DateTime.Now;
                                }


                                if (transaction.movement.id == (int)EnumMovement.FINALIZACION_ORDEN_DE_TRABAJO)
                                {
                                    var trxRelated = db.transactions.Where(tr => tr.trx_id == trxDetail.trx_relation_id).FirstOrDefault();
                                    trxRelated.trxst_id = (int)EnumTransactionState.FINALIZADA;
                                    var trxRelatedDetail = db.transactionDetail.Where(trx => trx.trx_id == trxDetail.trx_relation_id).FirstOrDefault();
                                    trxRelatedDetail.usu_ending     = transaction.usu_id;
                                    trxRelatedDetail.trx_endingDate = DateTime.Now;
                                }


                                if (transaction.movement.id == (int)EnumMovement.ANULACION_ORDEN_DE_TRABAJO)
                                {
                                    var trxRelated = db.transactions.Where(tr => tr.trx_id == trxDetail.trx_relation_id).FirstOrDefault();
                                    trxRelated.trxst_id = (int)EnumTransactionState.ANULADA;
                                    var trxRelatedDetail = db.transactionDetail.Where(trx => trx.trx_id == trxDetail.trx_relation_id).FirstOrDefault();
                                    trxRelatedDetail.usu_anulation     = transaction.usu_id;
                                    trxRelatedDetail.trx_anulationDate = DateTime.Now;
                                }



                                db.transactionDetail.Add(trxDetail);
                                db.SaveChanges();
                            }


                            if (transaction.lsItems != null)
                            {
                                if (transaction.lsItems.Count > 0)
                                {
                                    foreach (var item in transaction.lsItems)
                                    {
                                        var taxValue             = (item.taxesValue != null) ? item.taxesValue : 0;
                                        transactionItems oItemDB = new transactionItems();
                                        oItemDB.trx_id                           = trx_id;
                                        oItemDB.mi_id                            = item.id;
                                        oItemDB.mi_amount                        = item.amount;
                                        oItemDB.mi_referencePrice                = item.referencePrice;
                                        oItemDB.mi_valueWithoutDiscount          = item.valueWithoutDiscount;
                                        oItemDB.mi_discountValue                 = item.discountValue;
                                        oItemDB.mi_valueWithDiscountWithoutTaxes = item.valueWithDiscountWithoutTaxes;
                                        oItemDB.mi_totalPrice                    = item.valueWithDiscountWithoutTaxes + taxValue;
                                        oItemDB.mi_taxesValue                    = taxValue;
                                        db.transactionItems.Add(oItemDB);
                                        db.SaveChanges();
                                    }
                                }
                            }


                            if (transaction.lsObservations != null)
                            {
                                if (transaction.lsObservations.Count > 0)
                                {
                                    foreach (var observation in transaction.lsObservations)
                                    {
                                        observationsByTransaction observationDb = new observationsByTransaction();
                                        observationDb.trx_id                  = trx_id;
                                        observationDb.obstrx_description      = observation.description;
                                        observationDb.usr_id                  = transaction.usu_id;
                                        observationDb.obstrx_registrationDate = DateTime.Now;
                                        db.observationsByTransaction.Add(observationDb);

                                        db.SaveChanges();
                                    }
                                }
                            }
                        }
                    }
                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }