示例#1
0
 public ActionResult Entrega(string opnumber)
 {
     if (opnumber != null)
     {
         MetricsRepository          metrics   = new MetricsRepository();
         DiboRepository             dibo      = new DiboRepository();
         OrdenDeProduccionViewModel viewModel = new OrdenDeProduccionViewModel();
         try
         {
             OrdenDeProduccion ordenDeProduccion = metrics.GetByOp(opnumber);
             viewModel.transactionMessage = ordenDeProduccion == null ?
                                            "No existe una orden de producción con el valor "
                                            + opnumber.ToString().Trim() : "";
             viewModel.ordenDeProduccion = ordenDeProduccion ?? new OrdenDeProduccion();
             viewModel.OPHistorial       = dibo.Consult(opnumber);
         }
         catch (Exception e)
         {
             viewModel.transactionMessage = "Se ha presentado un error en la búsqueda" +
                                            " de la orden de producción, favor contactar a los administradores de la página";
         }
         finally
         {
             metrics.Dispose();
             dibo.Dispose();
         }
         return(View(viewModel));
     }
     return(View());
 }
示例#2
0
        public ActionResult Entrega(OrdenDeProduccionViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                viewModel.ordenDeProduccion.FechaIngreso = DateTime.Now;
                DiboRepository             dibo = new DiboRepository();
                OrdenDeProduccionViewModel ordenDeProduccionViewModel =
                    new OrdenDeProduccionViewModel();
                try
                {
                    if (viewModel != null &&
                        !String.IsNullOrEmpty(viewModel.ordenDeProduccion.NumeroOrdenProduccion))
                    {
                        //TODO in this part, change the insert in update should insert a new line por entrada a PT
                        if (dibo.Exists(viewModel.ordenDeProduccion.NumeroOrdenProduccion))
                        {
                            dibo.Update(viewModel.ordenDeProduccion);
                            ordenDeProduccionViewModel.transactionMessage =
                                "Ingreso de entrega parcial exitosa, " +
                                "ha sido enviado un correo a los encargados" +
                                " de producto terminado";
                        }
                        else
                        {
                            viewModel.ordenDeProduccion.Entregas = 1;
                            if (viewModel.ordenDeProduccion.TotalCalculado >
                                viewModel.ordenDeProduccion.MaximoAceptadoPorCliente)
                            {
                                viewModel.ordenDeProduccion.Excedente =
                                    viewModel.ordenDeProduccion.TotalCalculado -
                                    viewModel.ordenDeProduccion.MaximoAceptadoPorCliente;
                            }
                            dibo.Add(viewModel.ordenDeProduccion);
                            ordenDeProduccionViewModel.transactionMessage =
                                "Los valores han sido ingresados en el sistema de " +
                                "forma correcta, ha sido enviado un correo a los " +
                                "encargados de producto terminado";
                        }

                        /*
                         * PTSignal pT = new PTSignal("[email protected], " +
                         *  "[email protected],[email protected], " +
                         *  "[email protected], [email protected], " +
                         *  "cacuñ[email protected], [email protected]," +
                         *  "[email protected], [email protected]," +
                         *  "*****@*****.**");
                         */
                        PTSignal pT = new PTSignal("*****@*****.**");
                        pT.SendEmail(viewModel.ordenDeProduccion);
                        dibo.Save();
                    }
                }
                catch (SmtpException exc)
                {
                    ordenDeProduccionViewModel.transactionMessage =
                        "Ocurrió un error en el envío del correo a los encargados de " +
                        "producto terminado, favor contactar al administrador de la página";
                }
                catch (Exception e)
                {
                    ordenDeProduccionViewModel.transactionMessage =
                        "Error en ingreso de datos al sistema, favor volver a intentar";
                }
                finally
                {
                    dibo.Dispose();
                }
                return(View(ordenDeProduccionViewModel));
            }
            // In the return, lets send a message with the state of the transaction
            return(View());
        }