public void Registrar(Solicitud solicitud)
        {
            try
            {
                if (solicitud.FechaEnvio.Year > DateTime.Now.Year)
                {
                    if (solicitud.Cantidad > 1000)
                    {
                        if (solicitud.Tipo == 1)
                        {
                            solicitud.RolResponsable = "Responsable1";
                        }
                        else
                        {
                            solicitud.RolResponsable = "Responsable2";
                        }
                    }
                    else
                    {
                        solicitud.RolResponsable = "Supervisor";
                    }
                }
                else
                {
                    solicitud.RolResponsable = "Administrador";
                }


                #region Validacion de archivo

                var erroresArchivos = string.Empty;

                foreach (var archivo in solicitud.ArchivosAdjuntos)
                {
                    try
                    {
                        if (ExisteArchivo(archivo.Ruta))
                        {
                            if (!ValidarArchivo(archivo.Ruta))
                            {
                                throw new ApplicationException("Extension no valida");
                            }

                            #region Obtener tipo mime

                            var extension = Path.GetExtension(archivo.Ruta);

                            switch (extension)
                            {
                            case ".pdf":
                                archivo.Mime = "application/pdf";
                                break;

                            case ".txt":
                                archivo.Mime = "text/plain";
                                break;

                            case ".xls":
                                archivo.Mime = "application/excel";
                                break;

                            case ".doc":
                                archivo.Mime = "application/msword";
                                break;

                            default:
                                archivo.Mime = "application/mime";
                                break;
                            }

                            #endregion
                        }
                    }
                    catch (ApplicationException exApp)
                    {
                        erroresArchivos += exApp.Message;
                    }
                    catch (FileNotFoundException exFile)
                    {
                        erroresArchivos += exFile.Message;
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }

                if (!string.IsNullOrWhiteSpace(erroresArchivos))
                {
                    throw new ApplicationException("Verifique los archivos");
                }

                #endregion

                if (solicitud.Tipo == 2 && solicitud.Cantidad > 10 && solicitud.Precio < 100)
                {
                    solicitud.Descuento = 0.5M;
                }
                else
                {
                    solicitud.Descuento = 0M;
                }

                switch (solicitud.Tipo)
                {
                case 1:
                    EnviarCorreo(solicitud.Tipo);
                    CalcularSolicitudes(solicitud.Tipo);
                    //Codigo
                    ActivarBanderas(solicitud.Tipo);
                    break;

                case 2:
                    EnviarCorreo(solicitud.Tipo);
                    //Codigo
                    DesactivarBanderas(solicitud.Tipo);
                    break;

                case 3:
                    EnviarCorreo(solicitud.Tipo);
                    //Codigo
                    ActivarBanderas(solicitud.Tipo);
                    break;

                default:
                    EnviarCorreo(solicitud.Tipo);
                    //Codigo
                    CalcularSolicitudes(solicitud.Tipo);
                    DesactivarBanderas(solicitud.Tipo);
                    break;
                }

                var repositorioSolicitud = new RepositorioSolicitud();
                repositorioSolicitud.Guardar(solicitud);
            }
            catch (Exception ex)
            {
                var mensaje = ex.Message + "\n";
                mensaje += ex.Source + "\n";
                mensaje += ex.StackTrace + "\n";
                File.WriteAllText("c:\\logs\\logError.txt", mensaje);
            }
        }
Пример #2
0
        public void Registrar(Solicitud solicitud)
        {
            try {
                if (solicitud.FechaEnvio.Year > DateTime.Now.Year)
                {
                    if (solicitud.Cantidad > 1000)
                    {
                        if (solicitud.Tipo == 1)
                        {
                            solicitud.RolResponsable = "Responsable1";
                        }
                        else
                        {
                            solicitud.RolResponsable = "Responsable2";
                        }
                    }
                    else
                    {
                        solicitud.RolResponsable = "Supervisor";
                    }
                }
                else
                {
                    solicitud.RolResponsable = "Administrador";
                }


                if (solicitud.Tipo == 2 && solicitud.Cantidad > 10 && solicitud.Precio < 100)
                {
                    solicitud.Descuento = 0.5M;
                }
                else
                {
                    solicitud.Descuento = 0M;
                }

                switch (solicitud.Tipo)
                {
                case 1:
                    EnviarCorreo(solicitud.Tipo);
                    CalcularSolicitudes(solicitud.Tipo);
                    //Codigo
                    ActivarBanderas(solicitud.Tipo);
                    break;

                case 2:
                    EnviarCorreo(solicitud.Tipo);
                    //Codigo
                    DesactivarBanderas(solicitud.Tipo);
                    break;

                case 3:
                    EnviarCorreo(solicitud.Tipo);
                    //Codigo
                    ActivarBanderas(solicitud.Tipo);
                    break;

                default:
                    EnviarCorreo(solicitud.Tipo);
                    //Codigo
                    CalcularSolicitudes(solicitud.Tipo);
                    DesactivarBanderas(solicitud.Tipo);
                    break;
                }

                var repositorioSolicitud = new RepositorioSolicitud();
                repositorioSolicitud.Guardar(solicitud);
            } catch (Exception ex) {
                var mensaje = ex.Message + "\n";
                mensaje += ex.Source + "\n";
                mensaje += ex.StackTrace + "\n";
                File.WriteAllText("c:\\logs\\logError.txt", mensaje);
            }
        }
        public void Registrar(Solicitud solicitud)
        {
            try {

                if (solicitud.FechaEnvio.Year > DateTime.Now.Year) {
                    if (solicitud.Cantidad > 1000) {
                        if (solicitud.Tipo == 1) {
                            solicitud.RolResponsable = "Responsable1";
                        } else {
                            solicitud.RolResponsable = "Responsable2";
                        }
                    } else {
                        solicitud.RolResponsable = "Supervisor";
                    }
                } else {
                    solicitud.RolResponsable = "Administrador";
                }

                #region Validacion de archivo

                var erroresArchivos = string.Empty;

                foreach (var archivo in solicitud.ArchivosAdjuntos) {
                    try {
                        if (ExisteArchivo(archivo.Ruta)) {

                            if (!ValidarArchivo(archivo.Ruta)) {
                                throw new ApplicationException("Extension no valida");
                            }

                            #region Obtener tipo mime

                            var extension = Path.GetExtension(archivo.Ruta);

                            switch (extension) {
                                case ".pdf":
                                    archivo.Mime = "application/pdf";
                                    break;
                                case ".txt":
                                    archivo.Mime = "text/plain";
                                    break;
                                case ".xls":
                                    archivo.Mime = "application/excel";
                                    break;
                                case ".doc":
                                    archivo.Mime = "application/msword";
                                    break;
                                default:
                                    archivo.Mime = "application/mime";
                                    break;
                            }

                            #endregion
                        }
                    } catch (ApplicationException exApp) {
                        erroresArchivos += exApp.Message;
                    } catch (FileNotFoundException exFile) {
                        erroresArchivos += exFile.Message;
                    } catch (Exception ex) {
                        throw ex;
                    }
                }

                if (!string.IsNullOrWhiteSpace(erroresArchivos)) {
                    throw new ApplicationException("Verifique los archivos");
                }

                #endregion

                if (solicitud.Tipo == 2 && solicitud.Cantidad > 10 && solicitud.Precio < 100) {
                    solicitud.Descuento = 0.5M;
                } else {
                    solicitud.Descuento = 0M;
                }

                switch (solicitud.Tipo) {
                    case 1:
                        EnviarCorreo(solicitud.Tipo);
                        CalcularSolicitudes(solicitud.Tipo);
                        //Codigo
                        ActivarBanderas(solicitud.Tipo);
                        break;
                    case 2:
                        EnviarCorreo(solicitud.Tipo);
                        //Codigo
                        DesactivarBanderas(solicitud.Tipo);
                        break;
                    case 3:
                        EnviarCorreo(solicitud.Tipo);
                        //Codigo
                        ActivarBanderas(solicitud.Tipo);
                        break;
                    default:
                        EnviarCorreo(solicitud.Tipo);
                        //Codigo
                        CalcularSolicitudes(solicitud.Tipo);
                        DesactivarBanderas(solicitud.Tipo);
                        break;
                }

                var repositorioSolicitud = new RepositorioSolicitud();
                repositorioSolicitud.Guardar(solicitud);
            } catch (Exception ex) {
                var mensaje = ex.Message + "\n";
                mensaje += ex.Source + "\n";
                mensaje += ex.StackTrace + "\n";
                File.WriteAllText("c:\\logs\\logError.txt", mensaje);
            }
        }
        public void Registrar(Solicitud solicitud)
        {
            try {

                if (solicitud.FechaEnvio.Year > DateTime.Now.Year) {
                    if (solicitud.Cantidad > 1000) {
                        if (solicitud.Tipo == 1) {
                            solicitud.RolResponsable = "Responsable1";
                        } else {
                            solicitud.RolResponsable = "Responsable2";
                        }
                    } else {
                        solicitud.RolResponsable = "Supervisor";
                    }
                } else {
                    solicitud.RolResponsable = "Administrador";
                }

                if (solicitud.Tipo == 2 && solicitud.Cantidad > 10 && solicitud.Precio < 100) {
                    solicitud.Descuento = 0.5M;
                } else {
                    solicitud.Descuento = 0M;
                }

                switch (solicitud.Tipo) {
                    case 1:
                        EnviarCorreo(solicitud.Tipo);
                        CalcularSolicitudes(solicitud.Tipo);
                        //Codigo
                        ActivarBanderas(solicitud.Tipo);
                        break;
                    case 2:
                        EnviarCorreo(solicitud.Tipo);
                        //Codigo
                        DesactivarBanderas(solicitud.Tipo);
                        break;
                    case 3:
                        EnviarCorreo(solicitud.Tipo);
                        //Codigo
                        ActivarBanderas(solicitud.Tipo);
                        break;
                    default:
                        EnviarCorreo(solicitud.Tipo);
                        //Codigo
                        CalcularSolicitudes(solicitud.Tipo);
                        DesactivarBanderas(solicitud.Tipo);
                        break;
                }

                var repositorioSolicitud = new RepositorioSolicitud();
                repositorioSolicitud.Guardar(solicitud);
            } catch (Exception ex) {
                var mensaje = ex.Message + "\n";
                mensaje += ex.Source + "\n";
                mensaje += ex.StackTrace + "\n";
                File.WriteAllText("c:\\logs\\logError.txt", mensaje);
            }
        }