public RegistrarFichaMantenimientoResponseDTO RegistraFichaMantenimiento(RegistrarFichaMantenimientoRequestDTO request)
        {
            var response = new RegistrarFichaMantenimientoResponseDTO();
            var contextoParaBaseDatos = new ContextoParaBaseDatos(ConstantesDB.Petcenterdb);
            var repo = new RepositorioFichaMantenimiento(contextoParaBaseDatos);
            int CodigoFichaMantenimiento = 0;

            Mapper.CreateMap <ActividadxFichaMantenimientoListDTO, ActividadesxFichaMantenimientoList>();
            Mapper.CreateMap <MaterialesxFichaMantenimientoListDTO, MaterialesxFichaMantenimientoList>();

            var requestBE = Helper.MiMapper <RegistrarFichaMantenimientoRequestDTO, RegistrarFichaMantenimiento>(request);

            requestBE.FechaHoraRegistro = DateTime.Now;

            //AdjuntarArchivo(request.ReclamoAdjuntoList);

            using (TransactionScope Transaccion = new TransactionScope())
            {
                CodigoFichaMantenimiento = repo.RegistrarFichaMantenimiento(requestBE);
                if (!CodigoFichaMantenimiento.Equals(0))
                {
                    ////Informacion Devolucion
                    //requestBE.MantenimientoList.CodigoSolicitud = CodigoSolicitud;
                    //requestBE.MantenimientoList.UsuarioCreacion = request.UsuarioRegistro;
                    //requestBE.MantenimientoList.FechaHoraCreacion = request.FechaHoraRegistro;
                    ////Informacion Devolucion

                    //=======Registrando Actividades
                    requestBE.ActividadxFichaMantenimientoList.ForEach(x =>
                    {
                        x.CodigoFichaMantenimiento = CodigoFichaMantenimiento;
                        x.UsuarioCreacion          = requestBE.UsuarioRegistro;
                        x.FechaHoraCreacion        = requestBE.FechaHoraRegistro;
                    });

                    repo.RegistrarActividadesxFichaMantenimiento(requestBE.ActividadxFichaMantenimientoList);
                    //=======Registrando Materiales

                    requestBE.MaterialesxFichaMantenimientoList.ForEach(x =>
                    {
                        x.CodigoFichaMantenimiento = CodigoFichaMantenimiento;
                    });

                    repo.RegistrarMaterialesxFichaMantenimiento(requestBE.MaterialesxFichaMantenimientoList);
                }
                Transaccion.Complete();
            }
            return(response);
        }
示例#2
0
        public RegistrarFichaMantenimientoResponseDTO RegistrarFichaMantenimiento(RegistrarFichaMantenimientoRequestDTO request)
        {
            RegistrarFichaMantenimientoResponseDTO response = new RegistrarFichaMantenimientoResponseDTO();

            try
            {
                //Newtonsoft.Json.JsonConvert.SerializeObject(request);
                var ficha_mantenimientoBL = new FichaMantenimientoBL();
                response = ficha_mantenimientoBL.RegistraFichaMantenimiento(request);
            }
            catch (Exception ex)
            {
                ManejadorExcepciones.PublicarExcepcion(ex, PoliticaExcepcion.ServicioWCF);
                response.Result = new Result
                {
                    Satisfactorio = false,
                    Mensaje       = "Ocurrio un problema interno en el servicio",
                    IdError       = Guid.NewGuid()
                };
            }
            return(response);
        }