public PreClient GetPreClientBD(PreClientViewModel pPreClient)
        {
            try
            {
                using (BDRAEntities db = new BDRAEntities())
                {
                    var PreClientBD = new PreClient();

                    if ((pPreClient.email != null && pPreClient.email != "") && (pPreClient.cellPhone != null && pPreClient.cellPhone != ""))
                    {
                        PreClientBD = db.PreClient.Where(p => p.preCli_email == pPreClient.email && p.preCli_cellPhone == pPreClient.cellPhone).FirstOrDefault();

                        if (PreClientBD == null)
                        {
                            if (pPreClient.cellPhone != null && pPreClient.cellPhone != "")
                            {
                                PreClientBD = db.PreClient.Where(p => p.preCli_cellPhone == pPreClient.cellPhone).FirstOrDefault();
                            }
                            else if (pPreClient.email != null && pPreClient.email != "")
                            {
                                PreClientBD = db.PreClient.Where(p => p.preCli_email == pPreClient.email).FirstOrDefault();
                            }
                        }
                    }
                    //Se deben validar los casos excluyentes  si viene el celular y no el coreo y viceversa
                    else if (pPreClient.cellPhone != null && pPreClient.cellPhone != "")
                    {
                        PreClientBD = db.PreClient.Where(p => p.preCli_cellPhone == pPreClient.cellPhone).FirstOrDefault();
                    }
                    else if (pPreClient.email != null && pPreClient.email != "")
                    {
                        PreClientBD = db.PreClient.Where(p => p.preCli_email == pPreClient.email).FirstOrDefault();
                    }

                    if (PreClientBD != null)
                    {
                        return(PreClientBD);
                    }
                    else
                    {
                        return(null);
                    }
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Beispiel #2
0
 public PreRequest GetTheLastPreRequestByPreClient(PreClient pPreClient)
 {
     try
     {
         using (BDRAEntities db = new BDRAEntities())
         {
             var lastRequest = db.PreRequest.Where(p => p.preCli_id == pPreClient.preCli_id)
                               .OrderByDescending(p => p.preReq_registrationDate)
                               .FirstOrDefault();
             return(lastRequest);
         }
     }
     catch (Exception)
     {
         return(null);
     }
 }
 public bool CreatePreClientInBD(PreClient pPreClient)
 {
     try
     {
         PreClient oPreClientBd = new PreClient();
         using (BDRAEntities db = new BDRAEntities())
         {
             db.PreClient.Add(pPreClient);
             db.SaveChanges();
             return(true);
         }
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Beispiel #4
0
        public IHttpActionResult AddNewPreRequest(PreRequestViewModel pPreRequest)
        {
            try
            {
                this.objPreClientController = new PreClientController();
                ResponseViewModel rta = new ResponseViewModel();

                using (BDRAEntities db = new BDRAEntities())
                {
                    /*
                     *              Validamos si el PreCliente de la solicitud ya existe en la base de datos.
                     */

                    PreClient PreClientBD = new PreClient();

                    PreClientBD = objPreClientController.GetPreClientBD(pPreRequest.preClient);

                    if (PreClientBD == null)
                    {
                        PreClientBD = objPreClientController.SetDataToPreClient(pPreRequest.preClient, pPreRequest.user);
                        var preClientCreated = objPreClientController.CreatePreClientInBD(PreClientBD);
                        if (preClientCreated)
                        {
                            PreClientBD = objPreClientController.GetPreClientBD(pPreRequest.preClient);
                        }
                    }


                    PreRequest oPreRequest = new PreRequest();
                    oPreRequest.preReq_registrationDate = DateTime.Now;
                    oPreRequest.preCli_id    = PreClientBD.preCli_id;
                    oPreRequest.preReq_state = true;
                    oPreRequest.usu_document = pPreRequest.user.id;

                    if (pPreRequest.vehicleModel.id != null && pPreRequest.vehicleModel.id != 0)
                    {
                        oPreRequest.vehMdl_id = pPreRequest.vehicleModel.id;
                    }
                    else
                    {
                        var vechicleModel  = VehicleModelController.SetDataToVehicleModel(pPreRequest.vehicleModel);
                        var vehicleModelDB = VehicleModelController.CreateVehicleModelInDB(vechicleModel);
                        oPreRequest.vehMdl_id = vehicleModelDB.id;
                    }
                    if (pPreRequest.stateRequest != null)
                    {
                        oPreRequest.sta_id = pPreRequest.stateRequest.id;
                    }
                    if (pPreRequest.firstCanal != null)
                    {
                        oPreRequest.firstCanal_id = pPreRequest.firstCanal.id;
                    }
                    if (pPreRequest.secondCanal != null)
                    {
                        oPreRequest.secondCanal_id = pPreRequest.secondCanal.id;
                    }


                    db.PreRequest.Add(oPreRequest);
                    db.SaveChanges();

                    var lastRequest = GetTheLastPreRequestByPreClient(PreClientBD);

                    if (pPreRequest.lsObservation[0].observation != "")
                    {
                        PreRequest_Observation observation = this.SetDataToObservation(lastRequest.preReq_id, pPreRequest.lsObservation[0].observation, pPreRequest.user.id);
                        this.InsertObservationInDB(observation);
                    }


                    rta.response = true;
                    rta.message  = "Se ha creado la pre solicitud: " + lastRequest.preReq_id + " de cliente de persona natural";

                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public PreClient SetDataToPreClient(PreClientViewModel pPreClient, UserViewModel pUser)
        {
            try
            {
                PreClient oPreClient = new PreClient();

                if (pPreClient.idPreClient != null)
                {
                    oPreClient.preCli_id = (int)pPreClient.idPreClient;
                }

                if (pPreClient.id != null && pPreClient.id != "")
                {
                    oPreClient.preCli_document = pPreClient.id;
                }
                else
                {
                    oPreClient.preCli_document = null;
                }

                if (pPreClient.kindOfDocument != null)
                {
                    oPreClient.kod_id = pPreClient.kindOfDocument.id;
                }
                else
                {
                    oPreClient.kod_id = null;
                }

                if (pPreClient.name != null && pPreClient.name != "")
                {
                    oPreClient.preCli_name = pPreClient.name;
                }
                else
                {
                    oPreClient.preCli_name = null;
                }

                if (pPreClient.lastName != null && pPreClient.lastName != "")
                {
                    oPreClient.preCli_lastName = pPreClient.lastName;
                }
                else
                {
                    oPreClient.preCli_lastName = null;
                }

                if (pPreClient.phone != null && pPreClient.phone != "")
                {
                    oPreClient.preCli_phone = pPreClient.phone;
                }
                else
                {
                    oPreClient.preCli_phone = null;
                }

                if (pPreClient.cellPhone != null && pPreClient.cellPhone != "")
                {
                    oPreClient.preCli_cellPhone = pPreClient.cellPhone;
                }
                else
                {
                    oPreClient.preCli_cellPhone = null;
                }

                if (pPreClient.email != null && pPreClient.email != "")
                {
                    oPreClient.preCli_email = pPreClient.email;
                }
                else
                {
                    oPreClient.preCli_email = null;
                }

                if (pPreClient.city != null)
                {
                    oPreClient.cty_id = pPreClient.city.id;
                }

                oPreClient.preCli_registrationDate = DateTime.Now;

                oPreClient.usu_document = pUser.id;


                oPreClient.preCli_state = true;

                return(oPreClient);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }