public async Task <IActionResult> AddConfirm([FromForm] AddServiceViewModel data)
        {
            #region AddService
            var client  = new ServiceNodeAsync <object, List <LangDTO> >(_fc);
            var service = await client.GetClientAsync("/api/lang/all");

            List <LangDTO>        langs = service.Data;
            List <ServiceNameDTO> names = new List <ServiceNameDTO>();
            List <ServiceInfoDTO> infos = new List <ServiceInfoDTO>();
            AddServiceDTO         model = new AddServiceDTO();
            for (int i = 0; i < data.NumberLang; i++)
            {
                names.Add(new ServiceNameDTO
                {
                    LangId    = langs[i].Id,
                    Name      = data.Names[i],
                    ServiceId = 12
                });
                infos.Add(new ServiceInfoDTO
                {
                    LangId    = langs[i].Id,
                    Name      = data.Infos[i],
                    ServiceId = 12
                });
            }
            string pictureName = string.Empty;
            if (data.Picture != null)
            {
                pictureName = FileManager.IFormSaveLocal(data.Picture, "ServicePictures");
            }

            model.IsPayed         = data.IsPayed;
            model.ServicePictures = new ServicePictureDTO {
                Picture = pictureName, ServiceId = 12
            };
            model.ServiceNames = names;
            model.ServiceInfo  = infos;
            var req = await new ServiceNodeAsync <AddServiceDTO, object>(_localizer, _fc).PostClientAsync(model, "/api/services/add/new");
            if (req.IsCatched == 1)
            {
                return(RedirectToAction("Add"));
            }
            #endregion
            TempData["R_Message"] = "Əlavə olundu";
            return(RedirectToAction("Services", "Home", new { Area = "Admin" }));
        }
        public async Task <ApiResponse <bool> > CreateService(AddServiceDTO model)
        {
            ApiResponse <bool> result = new ApiResponse <bool>();

            try
            {
                var GetAllServices = await unitOfWork.ServicesManager.GetAsync();

                var ListService = GetAllServices.ToList();

                int maxValue = -1;

                for (int i = 0; i < ListService.Count(); i++)
                {
                    if (ListService[i].position > maxValue)
                    {
                        maxValue = ListService[i].position;
                    }
                }

                Service newService = new Service();
                newService.NameAR    = model.NameAR;
                newService.NameEN    = model.NameEN;
                newService.AdminPath = model.AdminPath;
                newService.UserPath  = model.UserPath;
                newService.Time      = model.Time;
                newService.Price     = model.Price;
                newService.position  = maxValue + 1;



                Service ServiceResult = await unitOfWork.ServicesManager.GetServiceByNameAR(model.NameAR);

                if (ServiceResult == null)
                {
                    var createServiceResult = await unitOfWork.ServicesManager.CreateAsync(newService);

                    await unitOfWork.SaveChangesAsync();

                    if (createServiceResult != null)
                    {
                        result.Data      = true;
                        result.Succeeded = true;
                        return(result);
                    }
                    else
                    {
                        result.Succeeded = false;
                        result.Errors.Add("Failed to create Service !");
                        result.ErrorType = ErrorType.LogicalError;
                        return(result);
                    }
                }
                else if (ServiceResult != null && ServiceResult.isDeleted == true)
                {
                    var createServiceResult = await unitOfWork.ServicesManager.CreateAsync(newService);

                    await unitOfWork.SaveChangesAsync();

                    if (createServiceResult != null)
                    {
                        result.Data      = true;
                        result.Succeeded = true;
                        return(result);
                    }
                    else
                    {
                        result.Succeeded = false;
                        result.Errors.Add("Failed to create Service !");
                        result.ErrorType = ErrorType.LogicalError;
                        return(result);
                    }
                }
                else
                {
                    result.Succeeded = false;
                    result.Errors.Add("Service already exists !");
                    result.ErrorType = ErrorType.LogicalError;
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.Succeeded = false;
                result.Errors.Add(ex.Message);
                return(result);
            }
        }
Exemple #3
0
 public async Task <IActionResult> CreateService(AddServiceDTO model)
 {
     return(await AddItemResponseHandler(async() => await service.CreateService(model)));
 }
 public IActionResult Get([FromBody] AddServiceDTO addServiceDTO)
 {
     return(Ok(addServiceDTO));
 }